摘要: 含义:1、高层模块不应该依赖底层模块,两者都应该依赖其抽象。2、抽象不应该依赖细节。3、细节应该依赖抽象。底层模块:不可分割的原子逻辑。高层模块: 原子逻辑的再组装。抽象:接口或者抽象类,两者都不能直接被实例化。细节:实现类,实现接口或者继承抽象类而产生的类。可以直接被实例化。表现:1、模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的。2、接口或抽象类不依赖实现类。3、实现类依赖接口或抽象类。优点:减少类间的耦合性,提高系统的稳定性,降低并行开发引起的风险,提高代码的可读性和可维护性。依赖传递的三种写法:1、构造函数注入。2、Setter注入。3、接 阅读全文
posted @ 2014-04-11 23:13 Charles_Lv 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 继承的优点:1、代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性。2、提高代码的重用性。3、子类可以形似父类,但又异于父类。4、提高代码的可扩展性,实现父类的方法就可以“为所欲为”。君不见很多开源框架扩展接口都是通过继承父类来完成的。5、提高产品或项目的开放性。继承的缺点:1、继承是侵入性的,只要继承就必须拥有父类的所有属性和方法。2、降低代码的灵活性,子类必须拥有父类的属性和方法,让子类自由的世界中多了些约束。3、增强了耦合度,当父类的常量、变量和方法被修改时,必须要考虑子类的修改,而且在缺乏规范的环境下,这种修改可能带来非常糟糕的结果——大片代码需要重构。让继承的利最大化于弊的 阅读全文
posted @ 2014-04-11 23:06 Charles_Lv 阅读(400) 评论(0) 推荐(0) 编辑