OOP概论

#SOLID
1、单一职责原则(Single Responsibility Principle):类的功能尽量单一
2、接口隔离原则(Interface Segregation Principle):接口功能尽量单一
3、开闭原则(Open Close Principle):对扩展开放,对修改关闭
4、依赖倒置原则(Dependence Inversion Principle):面向接口编程,依赖抽象,不依赖实现
5、里氏替换原则(Liskov Substitution Principle):子类可以扩展父类的功能,但不能改变父类原有的功能。非必要不要重写父类方法,实现多态可采用抽象父类或接口
6、迪米特法则(Law Of Demeter): 聚合内高内聚,聚合外低耦合,如电机的结构,聚合之间使用聚合根通信
7、合成复用原则(Composite Reuse Principle):少用继承,多用关联

#类之间的关系
1、继承关系(泛化关系):耦合性最大
2、实现关系:接口和实现类之间的关系
3、一般关联关系:类之间的引用关系(又分为单向关联、双向关联、自关联)
4、聚合关系:整体与部分的关系,整体不存在,部分不受影响
5、组合关系:整体与部分的关系,整体控制部分生命周期
6、依赖关系:是一种使用关系
关联关系分为:一般关联关系、聚合关系、组合关系

 

#设计模式
@@@@@@@@@@创造型模式(用于产品类的创建)
1、单例模式:程序中唯一实例,构造函数私有
2、工厂方法模式 :把工厂抽象出来,将产品类抽象出接口,每个产品类实现一个工厂类,使用类依赖工厂抽象,不依赖工厂实现,工厂生产的时产品类接口,而不是具体的产品类
缺点:如果产品类多,每种产品都需要单独的工厂,麻烦
3、抽象工厂模式:抽象工厂可以创建多种产品,不同工厂实现类区实现,缺点:
需要添加产品时,抽象工厂就得修改,所有工厂实现类也要修改
4、原型模式: 通过clone创建新对象
5、建造者模式:构造部件,然后装配成一个复杂对象
角色:
抽象建造者类:部件构建抽象类
建造者实现类:部件创建实现类
复杂产品类:最终对象
指挥者类:负责装配

@@@@@@@@@@结构型模式 ( )
6、代理模式:引用类无法直接被访问,使用代理类间接访问,降低访问者和目标对象耦合度
角色:
目标抽象类,最终引用对象规范
目标实现类,最终引用对象
代理类,内部引用目标类,可以扩展、增强被目标类,提供与真实主题相同的接口
7、适配器模式:充当中间件,适配标准接口下不同实现类
角色
目标接口:业务接口,规范对接的不同实现类的标准
适配者接口:适配器输出端接口规范
适配器实现类
8、装饰者模式,不改变产品类的情况下,给产品类增加新功能(套娃模式)
9、桥接模式,多维度扩展时使用,(场景:多种操作系统播放多种格式视频文件)
10、外观模式(门面模式),提供对外统一访问接口,简化外部调用,迪米特法则应用
11、享元模式,运用共享技术对大量对象进行复用,应用线程池
12、组合模式,把对象组组合成树形结构的单一对象

@@@@@@@@@@行为型模式 (产品类需要改变行为)
13、策略模式,对对象的各种行为进行封装,使行为实现和使用分离,达到解耦目的
14、责任链模式,使产品类形成一条链,层层处理
15、模板方法模式,把多个有序步骤封装成固定模板方法进行外部调用
16、命令模式,将命令封装成对象,使命令发出者和执行者分离
17、状态模式,对产品类的各种行为及状态进行封装,并使行为实现和使用分离
18、观察者模式,发布订阅
19、中介者模式(调解者):类/系统之间关系复杂时,加入中介者对象,使类/系统与中介者进行交互来解耦,消息队列/ESB
20、访问者模式,将产品类的数据结构与数据操作分离,产品类的执行算法可以随着访问者的改变而改变
21、解释器模式:对语法进行解释和分析,计算器
22、迭代器模式:按照顺序遍历访问聚合对象中的数据
23、备忘录模式:记录快照,进行撤销

 

posted @ 2023-03-16 10:02  扶我起来我还要敲  阅读(48)  评论(0编辑  收藏  举报