设计模式总结(以游戏开发举例)

1.单例模式

单例模式有两个模式,确保任何时候对象只有一个,避免重复创建和释放,应用于对象资源共享和相互通信的情况下。

https://blog.csdn.net/m0_37920739/article/details/80869649


2.工厂模式工厂方法

工厂模式把创建对象集中,使矛盾集中在工厂类中,导致工厂类会高耦合。

工厂方法是对象创建单独提供专属工厂类,符合开闭原则。

https://blog.csdn.net/m0_37920739/article/details/80977264


3.建造模式

工厂模式注重创建对象,而建造者模式注重的是对象接口的调用过程和组合,注重对象方法。

https://blog.csdn.net/m0_37920739/article/details/104329390


4.原型模式

引用类型重复创建时,可以避免使用拷贝(赋值)构造函数,去复刻对象。

https://blog.csdn.net/m0_37920739/article/details/104336012


5.适配器模式

类适配器是针对适配目标是接口的情况下使用,缺省适配器是是为了弥补接口过大所犯下的过错。

https://blog.csdn.net/m0_37920739/article/details/104356350


6.桥接模式

桥接模式是关联关系,降低类之间的耦合,功能模块可以进行重复利用。

https://blog.csdn.net/m0_37920739/article/details/104363943


7.过滤器模式

对数据组按照一定条件进行筛选。

https://blog.csdn.net/m0_37920739/article/details/104377144


8.组合模式

可以表达模块之间的层级关系,比如系统窗口或者文件夹的实现。

https://blog.csdn.net/m0_37920739/article/details/104392068


9.装饰器模式

动态给对象添加额外的职责,增加新的功能,用来修饰基本对象。

https://blog.csdn.net/m0_37920739/article/details/104397028


10.外观模式

将多个对象组合调用提供出外观类接口,隐藏访问子功能的复杂性。

https://blog.csdn.net/m0_37920739/article/details/104401180


11.享元模式

可以将稳定不变的数据进行重复利用,避免数据的频繁创建和释放,也优化程序内存占有。

https://blog.csdn.net/m0_37920739/article/details/104403262


12.代理模式

抽离出安全权限层,用来对目标对象访问权限进行控制。

https://blog.csdn.net/m0_37920739/article/details/104419239


13.责任链模式

责任链是让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链把请求的数据传递下去,直到遇到递归弹栈的条件。

https://blog.csdn.net/m0_37920739/article/details/104421083


14.命令模式

将某些功能函数封装成对象,这样就可对函数功能进行保存。

https://blog.csdn.net/m0_37920739/article/details/104428753


15.解释器模式

解释器模式相当于翻译官,一些固定语法构建出解释语句。可以实现对象转换成JsonXml或者数据库的简单调用。​​​​​​

https://blog.csdn.net/m0_37920739/article/details/104453312


16.迭代器模式

迭代器模式支持以不同方式遍历聚合对象,使数据和遍历数据的职责进行分离

https://blog.csdn.net/m0_37920739/article/details/104478904


17.中介者模式

主要解决复杂的对象引用和相互调用时,导致代码变得很乱,将调用方式集中在中介者里。

https://blog.csdn.net/m0_37920739/article/details/104485195


18.备忘录模式

提供一种恢复状态的机制,可以方便地回到某个历史状态,用户不必关心数据保存方式。

https://blog.csdn.net/m0_37920739/article/details/104496825


19.观察者模式

可以减少通知类过于庞大,建立了一套触发机制,并支持广播通讯。

https://blog.csdn.net/m0_37920739/article/details/104504114


20.空对象模式

空对象去取代空引用,主要目的是当数据是空引用时提供一种默认的处理方式。

https://blog.csdn.net/m0_37920739/article/details/104516476


21.状态模式

减少分支和循环语句,实现了状态之间自动切换关系。

https://blog.csdn.net/m0_37920739/article/details/104525017


22.策略模式

算法可以自由切换,和状态模式相比切换是可控的,状态模式是内控的。

https://blog.csdn.net/m0_37920739/article/details/104535936


23.模板方法模式

此模式经常使用,封装不变部分,扩展可变部分,提取公共代码,便于维护和使用。

https://blog.csdn.net/m0_37920739/article/details/104545812


24.访问者模式

提供访问数据的方式,因数据不易变,访问数据方式易变的,将两者分离实现,代码更好的维护。

https://blog.csdn.net/m0_37920739/article/details/104554491


25.MVC模式

MVC模式是通过中介模式实现的,提供了一种概念。视图层控制层模型数据层代码进行分层开发,可使项目工程结构清晰。

https://blog.csdn.net/m0_37920739/article/details/104561603


项目工程链接:https://download.csdn.net/download/m0_37920739/10964463。项目工程和文章实现的Demo不同,自我感觉文章里提供的Demo更加有便于学习和理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值