一句话描述设计模式

本文介绍了设计模式的三大类别:创建型模式、行为型模式和结构型模式。创建型模式包括建造者模式、单例模式等,用于高效创建对象;行为型模式如模板方法、观察者模式,关注代码行为和交互;结构型模式如适配器模式、装饰器模式,关注对象组合和结构。这些模式提供了软件设计的通用解决方案。
摘要由CSDN通过智能技术生成

设计模式分为3大类:创建型模式、行为型模式、结构型模式

创建型模式:顾名思义就是创建对象的模式。

行为型模式:行为可以理解成代码中的函数或者方法,就是设计方法的模式。

结构型模式:结构可以理解成排列组合,代码间合作的模式。

一、创建型模式

创建型模式分为建造者模式、单例模式、原型模式、简单工厂模式、工厂方法模式、抽象工厂模式

建造者模式(生成器模式):根据参数的不同建造不同的对象,多数情况下用来取代set方法和构造器的。

单例模式(单体模式):避免重复创建对象。

原型模式(克隆模式):通过拷贝的方式避免重复执行耗时耗资源的操作。

简单工厂模式:这里的工厂指的就是用来创建对象(生产产品)的类,创建对象和使用对象分开,职责单一,高内聚低耦合。

工厂模式:工厂生产的产品越来越多,需要经常的改动工厂类,这就不符合开闭原则,所以就升级又了一个工厂只生产一个产品的工厂模式。

抽象工厂模式:因为一个工厂只生产一个产品,那工厂类必然会膨胀,不利于维护,于是又有了一个工厂生产同一类型的多个产品的抽象工厂模式。

二、行为型模式

模版方法模式:抽象定义骨架:有哪些方法、方法的执行顺序等,底层实现具体细节。

观察者模式:逆向思维,一般情况下都是被观察者通知观察者,然而随着观察者不断增多,那被观察者每次都要增加通知,违反了开闭原则。所以触发点转换,不在是由被观察者发起,而是由观察者主动注册。

责任链模式(职责链模式):多个处理器依次处理同一个请求,形成一个链条。

访问者模式:核心思想在于横向面向对象(比如我们把人理解成一个对象,人的行为有喝水、吃饭等,这就是纵向面向对象。如果把喝水理解成一个对象,行为就有人喝水、狗喝水等,这就是横向面向对象),适合于对象不增加,但是行为会不停增加的场景。

状态模式:状态和主类解构,同时抽象所有行为,各自负责各状态下的行为实现。

策略模式(政策模式):面向接口编程,提供多种策略供代码运行时动态选择,可以取代if-else。

中介模式(调停者模式):一个大对象可以拆分出多个小对象,如果小对象非常多,并且小对象之间相互影响,那小对象之间关系就是非常复杂的网状关系,此时中介者应运而生,小对象之间不在直接交互,中介者负责和每个小对象交互,简化成简单的1对多关系。

命令模式(动作模式):A下达B命令指定C做,如果B和C存在多个,适合使用命令模式。

解释器模式:复杂的内容用符号简单化,解释器能够识别这种符号。

迭代器模式(游标模式):对集合的遍历定义成一个对象,同时对此抽象出3个方法:hasNext(是否存在下一个)、next(获取下一个对象)、remove(移除对象)。

备忘录模式(快照模式):备份历史行为数据,以便在需要的时候恢复它。

三、结构型模式

适配器模式(包装器模式):适配器作为一个中转介质并不干活,主要应用于补救缺陷设计。

代理模式(委托模式):横向面向对象,上下丰富代码,并且符合开闭原则。

外观模式(门面模式):一个接口包装多个接口,方便使用者。

享元模式(轻量级模式):共享对象,节省资源。

装饰器模式:核心类和装饰类分别扩展,通过组合的方式取代继承避免类爆炸。

桥接模式(桥梁模式):对象可能会有多维度的变化,每种维度独立扩展,同时使用组合取代继承。

组合模式(部分-整体模式):统一对组合对象与单个对象的处理逻辑,方便客户端调用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值