前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面向对象设计原则(1)——学习使用设计模式

面向对象设计原则(1)——学习使用设计模式

作者头像
恋喵大鲤鱼
发布2018-08-03 11:25:47
3320
发布2018-08-03 11:25:47
举报
文章被收录于专栏:C/C++基础C/C++基础

设计模式(Design Pattern)是一套被反复使用、多数人知晓、分类编目、代码设计经验的总结。使用设计模式是为了提高代码的可复用性、可扩充性可维护性,让代码易于被他人理解且保证软件的可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编写真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。

设计模式这个术语是由Erich Gamma等人在20世纪90年代从建筑设计领域引入的,它是对软件设计领域普遍存在的各种问题所提出的解决方案,不涉及完成应用程序的具体的类或对象。设计模式是前人实践经验的结晶,可以帮助我们优化程序设计。关于设计模式的著作,最早最著名的就是由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著的《Design Patterns: Elements of Reusable Object-Oriented Software》(中文名为《设计模式》一书)。这几位作者常被称为”四人组(Gang of Four,GoF)。书中共收录了23种设计模式,这些设计模式被分为三大类:创建型、结构型和行为型,分别包括内容如下:

创建型模式5个:单例模式(Singleton)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)、工厂模式(Factory)、原型模式(Prototype)。

结构型模式7个:适配器模式(Adapter)、桥接模式(Bridge)、装饰模式(Decorator)、组合模式(Composite)、外观模式(Facade)、享元模式(Flyweight)、代理模式(Proxy)。

行为型模式11个:模版方法模式(Template Method)、命令模式(Command)、迭代器模式(Iterator)、观察者模式(Observer)、中介者模式(Mediator)、备忘录模式(Memento)、解释器模式(Interpreter)、状态模式(State)、策略模式(Strategy)、责任链模式(Chain of Responsibility)、访问者模式(Visitor)。

事实上,除了GoF的23个著名设计模式之外,还有很多别的设计模式,Wrapper模式、DAO(Data Access Object)模式、MVC(Model-View-Control)模式等。设计模式的学习是一个艰苦漫长的过程,需要大量的实践、思考和总结,即便如此,我们首先要有这个学习的意识。


参考文献

[1]李健.编写高质量代码:改善C++程序的150个建议[M].第一版.北京:机械工业出版社,2012.1:312-314 [2]百度百科.设计模式

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年02月16日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考文献
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档