第 9 卷
依赖的三种写法:
①构造函数传递依赖对象(构造函数注入)
②Setter 方法传递依赖对象(setter 依赖注入)
③接口声明依赖对象(接口注入)
使用原则:
依赖倒置原则的本质就是通过抽象(接口或抽象类)使各个类或模块的实现彼此独立,不互相影响,实现模块间的松耦合,我们怎么在项目中使用这个规则呢?只要
遵循以下的几个规则就可以:
①每个类尽量都有接口或抽象类,或者抽象类和接口两者都具备 ②变量的表面类型尽量是接口或者是抽象类
③任何类都不应该从具体类派生(只要不超过两层的继承是可以忍受的)
④尽量不要复写基类的方法 ⑤结合里氏替换原则使用
●Open Closed Principle:开闭原则
定义:软件实体应该对扩展开放,对修改关闭。
其含义是说一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。
软件实体:项目或软件产品中按照一定的逻辑规则划分的模块、抽象和类、方法。
变化的三种类型:
①逻辑变化只变化一个逻辑,而不涉及其他模块,比如原有的一个算法是 a*b+c,现在需要修
改为 a*b*c,可以通过修改原有类中的方法的方式来完成,前提条件是所有依赖或关联类都按照相同的逻辑处理。
②子模块变化一个模块变化,会对其他的模块产生影响,特别是一个低层次的模块变化必然引起
高层模块的变化,因此在通过扩展完成变化时,高层次的模块修改是必然的。
③可见视图变化可见视图是提供给客户使用的界面,如 JSP 程序、Swing 界面等,该部分的变化
一般会引起连锁反应(特别是在国内做项目,做欧美的外包项目一般不会影响太大)。可以通过扩展来完成变化,这要看我们原有的设计是否灵活。