喜欢对技术刨根问底,却总是被打退,晕,再上,屡败屡战

注定要与程序打交道,毫无疑问我喜欢编程,而且适合

导航

开闭原则

Posted on 2006-04-11 15:44  Carmack  阅读(361)  评论(0)    收藏  举报

  开闭原则也是面向对象技术的五大关键原则之一,Open-Closed Principle原则讲的是:一个软件实体应当对扩展开放,对修改关闭。
优点:
        通过扩展已有软件系统,可以提供新的行为,以满足对软件的新的需求,使变化中的软件有一定的适应性和灵活性。
        已有软件模块,特别是最重要的抽象层模块不能再修改,这使变化中的软件系统有一定的稳定性和延续性。
    那如何做到对现有接口的扩展而不是修改呢,关键是抽象;如果在发布的接口要做出修改,那么说明不符合开闭原则,说起来是乎有点芧盾:“这个东西不符合现有的功能,那不能修改,现在的写法又不好扩展,怎么办”,这说明你的设计不合理,得进行重构,使其是可扩展的;好像还是有茅盾,“我怎么知道这个地方对以后是要可扩展的呢,如果每个都考虑到扩展性的话那么一个小小的软件开发起来也是一件相当庞大的事情”,这个就是开闭原则茅盾之处,这就得靠实际的工作经验了,关键是一个度(边界)的问题;不预测将来,做好现有的迫切的,所以不存在100%的开闭;