《C++新经典设计模式》之第22章 总结
2023-12-15 02:14:11
《C++新经典设计模式》之第22章 总结
- 面向对象程序设计原则
- 开放封闭原则:扩展开放,修改封闭,增加新功能时,已有代码不变,增加新类、新成员函数实现。
- 依赖倒置原则:高层组件不应该依赖于底层组件(具体实现类),两者都应该依赖于抽象层。
- 组合复用原则:组合优于继承。
- 迪米特法则:一个对象对其他对象的了解应尽可能少,降低对象耦合,提高系统可维护性。
- 单一职责原则:类职责单一,只做一件事或只提供一种功能。
- 里氏替换原则:基类可以无差别地用子类替换。
- 设计模式分类
- 创建型模式:对象创建和使用分离。简单工厂、工厂方法、抽象工厂、原型、建造者、单例。
- 结构型模式:灵活组合对象,简化设计。装饰、外观、组合、亨元、代理、适配器、桥接。
- 行为型模式:对象协作,完成整体任务。模板方法、策略、观察者、命令、迭代器、状态、中介者、备忘录、责任链、访问者、解释器。
- 设计模式定义
1)创建型设计模式的定义
- 简单工厂:函数根据不同参数创建并返回不同类对象,返回类对象具有相同父类。
- 工厂方法:定义抽象工厂和抽象父类,具体子类由具体工厂创建并返回。
- 抽象工厂:定义抽象工厂(多个接口,分别返回不同父类)和多个抽象父类,具体子类由具体工厂创建并返回。
- 原型:通过复制原型实例创建新的对象。(T*clone(){return new T(this)},拷贝构造函数)
- 建造者:复杂对象构建与表示分离,相同构建过程可以创建不同表示。
- 单例:唯一实例类,通过全局方法访问
2)结构型设计模式的定义
- 装饰:动态地给对象添加额外职责。
- 外观:统一接口,访问子系统的一群接口。
- 组合:对象组织成树形结构,对单个对象和组合对象的操作具有统一性。
- 亨元:共享技术,大量细粒度对象复用。
- 代理:提供代理,控制对象的访问。
- 适配器:接口转换。
- 桥接:抽象与实现分离,都可以独立地变化和扩展。
3)行为型设计模式的定义
- 模板方法:父类定义算法骨架,具体步骤子类去实现。
- 策略:定义抽象策略类(接口调用抽象父类指针)和抽象父类(含有策略类成员),具体策略类中实现算法(具体操作子类)。
- 观察者:一个对象状态改变,依赖对象自动得到通知。
- 命令:请求或命令封装成对象,当成参数传递,可以排队执行以及撤销。
- 迭代器:顺序访问聚合对象元素,而不暴露对象内部。
- 状态:对象内部状态改变时改变行为,对象看起来似乎修改了类。
- 中介者:中介对象封装系列对象的交互。
- 备忘录:捕获对象内部状态并保存,之后可用于恢复。
- 责任链:多个对象连成链,并沿链传递请求,直到有对象处理为止。
- 访问者:定义抽象访问者和父类元素,对象结构中增删子元素,并通过具体访问者循环操作子元素。
- 解释器:定义语言文法,并用解释器解释语言中的句子。
文章来源:https://blog.csdn.net/oqqyx1234567/article/details/134868761
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!