有关OOAD的几个:
OOAD:面向对象的设计和分析
OOA:分析
OOD:设计
OOP:面向对象编程
什么叫软件危机:
这种在计算机软件开发和维护过程中遇到的问题使开发者陷入困境,称之为软件危机
关键字:
Associate 关联
Generalize 范化
Compose 组合
Aggregate 聚合
Realize 实现
Dependency 依赖
低耦合和高内聚:
什么是耦合:一个类和另一个类之间产生了关系,就叫耦合
什么是内聚:简单地说就是自己的事情自己去做,尽量不要和别的类产生耦合
好的软件必须要是一个高内聚,低耦合的设计
设计原则
1、单一设计原则:一个类尽量做一个事情
2、开闭原则:(采用接口或者抽象类的方式来实行开闭原则)开:对扩展开。闭:对修改闭,尽量在不修改源代码的基础上进行扩展的功能
3、里氏替换原则:主要解决继承关系的(正方形不是长方形),子类可以扩展父类的方式,不要重写父类的实现方法。有了继承关系,子类完全可以替换父类出现的地方,但是如果影响了程序的结果,则违背了替换原则
4、依赖倒转原则:要使用接口来进行编程(高层不能依赖与低层,两者都应该依赖于抽象,抽象不应该依赖于细节,细节应该依赖于抽象)
抽象:指的是抽象类和接口
细节:指的是实现类
5、接口隔离原则:一个接口不应该放太多的方法,应该根据其职责划分为多个接口(接口最小原则)
6、组合/聚合原则:尽量多用组合聚合(一个类对另一个类的应用),少用继承
7、迪米特原则:一个软件对其他实体的引用越少越好,简单理解就是(不要和陌生人说话),只和直接朋友联系(类的成员变量,方法中的参数,方法返回的类型,这些就叫做直接朋友);
设计模式:
模式一共有23种
模式包含的要素:
1、模式名称
2、该模式所能解决的问题
3、解决方案
4、使用该模式后的效果(有优点也有缺点)