首页 > 代码库 > 类的设计原则
类的设计原则
刚接触设计模式的时候我就被它的优雅给吸引了,发现原来代码还可以这样写,当时的我入了迷。
记得看的第一本设计模式的书籍叫《大话设计模式》,当时的我还不能完全理解里面的思想,但并不妨碍我被它的优雅给吸引,这本书我看了3遍,直到现在感觉还是有点乱,在这整理一下自己的思路,加深一下自己的理解。
类的设计原则:
开闭原则:在面对对象设计的中,应该遵循对扩展开放,对修改关闭。
开闭原则实现方法:
为了满足开闭原则,我们这软件设计中应该将不变的部分抽象出来,定义成不变的接口(或抽象类),模块之间调用通过抽象接口进行,这样即使实现层发生变化,调用代码也不需要改变,接口是不变的是可以复用的,简单的说就是基于接口(抽象)编程
单一职责原则:在类的设计过程中,只能让一个类有且只有一个职责。
为什么一个类不能多余一个以上的职责?
当一个类拥有多个职责的时候,也就意味着有多个原因会引起该类的改变,而这种变化会影响到该类不同职责的使用者:
1.当类的一个职责需要包含其他外部类的时候,该类的另外一个职责的使用者就不得不包还这个外部类
2.当类的一个职责改变,而该类的另外一个职责的使用者也不得不重新编译这个类
职责划分
单一职责其实从字面去理解非常容易,但在实际的设计过程中,并不是那么容易对职责进行划分。
首先我尝试用一句话来概括这个类的职责,在语句中不要包括或、且、和之类的字眼,然后考虑这个类是否存在多个原因引起他的改变
接口分离原则:接口的设计应该遵循最小接口原则,不要把用户不需要的方法放到同一个接口里
依赖倒置原则:高级模块不应该依赖低级模块,应该依赖抽象,抽象不应该依赖于细节,细节应该依赖抽象
里氏替换原则:子类应该可以替换掉父类出现的任何地方,或者说我们将代码中所有出现父类的地方替换成子类,代码仍然可以正常运行
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。