类和类的关系:
泛化关系:一个类继承另一个类
实现关系:一个类实现一个接口
依赖关系:一个类是另一个类的局部变量或方法参数或返回类型。
关联关系: 聚合关系:一个类是另一个类的属性,是整体和部分关系。
组合关系:一个类是另一个类的属性,是整体不可分割的一部分,强内聚
设计原则:
单一职责原则: 一个类而言,应该仅有一个改变它的里有,永远不要让一个存在多个改变的理由,一个类只应该做和一个任务相关的业务,不要把过多的业务放在一个类中完成。
迪米特法则原则:一个软件实体应该尽可能少的与其他实体发生相互作用,不要和陌生人说话,调用方只关心他需要使用的方法。
开闭原则:软件实体应该对扩展开放,对修改关闭。(开闭原则是所有设计原则的核心,其他设计原则都是它的表现和补充)实现方法就是抽象
组合/聚合复用原则:多使用聚合/组合达到代码的重用,少使用继承重用。
依赖倒转原则:面向对象编程,不要面向具体编程。
泛化关系:一个类继承另一个类
实现关系:一个类实现一个接口
依赖关系:一个类是另一个类的局部变量或方法参数或返回类型。
关联关系: 聚合关系:一个类是另一个类的属性,是整体和部分关系。
组合关系:一个类是另一个类的属性,是整体不可分割的一部分,强内聚
设计原则:
单一职责原则: 一个类而言,应该仅有一个改变它的里有,永远不要让一个存在多个改变的理由,一个类只应该做和一个任务相关的业务,不要把过多的业务放在一个类中完成。
迪米特法则原则:一个软件实体应该尽可能少的与其他实体发生相互作用,不要和陌生人说话,调用方只关心他需要使用的方法。
开闭原则:软件实体应该对扩展开放,对修改关闭。(开闭原则是所有设计原则的核心,其他设计原则都是它的表现和补充)实现方法就是抽象
组合/聚合复用原则:多使用聚合/组合达到代码的重用,少使用继承重用。
依赖倒转原则:面向对象编程,不要面向具体编程。
里氏替换原则:父类出现的地方子类一定可以替换,如果父类的方法在子类中发生了畸变或者子类不能完整实现父类方法,就要断开父子关系,采用依赖,聚合,组合等关系来替代继承
接口隔离原则:应该使用专门的接口,来取代一个统一的接口。如:一个实体类一个接口。