Java23种设计模式(GOF)

设计模式的三大分类

1、创建型模式

创建对象
关注对象的创建过程

五种:单例模式、工厂模式、抽象工厂模式、建造者模式、原型模式。

2、结构型模式

是从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题
关注对象和类的组织

七种:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式

模式说明
适配模式是原本由于接口不兼容不能一起工作的类可以一起工作
桥接模式处理多层继承结构,处理多维度变化的场景,将各个维度设计成独立的继承结构,使各个维度可以独立的扩展在抽象层建立关联
装饰模式动态地给一个对象添加额外的功能,比继承灵活
组合模式将对象组合成树状结构以表示“部分和整体”层次结构,使得客户可以统一的调用叶子对象和容器对象
外观模式为子系统提供统一的调用接口,使得子系统更加容易使用
享元模式运用共享技术有效的实现管理大量细粒度对象,节省内存,提供效率
代理模式为真实对象提供了一个代理,从而控制对真实对象的访问
3、行为型模式

关注的是系统中对象之间的相互交互,研究系统在运行时对象之间的相互通信和协作,进一步明确对象的职责

十一种:模板方法模式、命令模式、迭代器模式、观察者模式、终结者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。

设计模式的六大原则

1、单一职责原则

一个类只承担一个职责,不要让一个类承受的事情过多
一个类或者模块应该有且只有一个改变的原因

2、里氏替换原则

尽量把父类设计为抽象类或者接口,让子类继承父类或实现父接口。子类可以扩展父类的功能,但不能改变父类原有的功能

3、依赖倒转原则

DIP(Dependence Inversion Principle):要针对接口编程,不要针对实现编程

4、接口隔离原则

使用多个专门的接口比使用单一的总接口要好
一个类对另外一个类的依赖性应当是建立在最小的接口上的
一个接口代表一个角色,不应当将不同的角色都交给一个接口。没有关系的接口合并在一起,形成一个臃肿的大接口,这是对角色和接口的污染

5、迪米特法则(最少知识原则)

LoD(Law of Demeter):只与你直接的朋友通信,而避免和陌生人通信
或者说一个软件实体应当尽可能少的与其他实体发生相互作用

6、开闭原则

OCP(Open-Closed Principle):一个软件的实体应当对扩展开放,对修改关闭

学习设计模式的初衷是为了学习设计者的思维,是一种更高层次的思考,不是通过背代码的方式记住,要多去理解,思考。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值