![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 65
罪の一十一
这个作者很懒,什么都没留下…
展开
-
里氏替换原则示例
里氏替换原则 当你扩展一个类时,记住你应该要能在不修改客户端代码的情况下将子类的对象作为父类对象进行传递。 一句话概述:子类对象可以替换父类对象,而程序逻辑不变。 代码 using System; public class Porgram { public class Food { } public class Apple : Food { } public class Parent { public virtual原创 2021-04-09 17:16:51 · 261 阅读 · 1 评论 -
设计模式分类
设计模式分类 创建型模式 创建型模式提供了创建对象的机制, 能够提升已有代码的灵活性和可复用性。 工厂方法模式(虚拟构造函数、Virtual Constructor、Factory Method) 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。 抽象工厂模式(Abstract Factory) 它能创建一系列相关的对象, 而无需指定其具体类。 生成器模式(建造者模式、Builder) 使你能够分步骤创建复杂对象。 该模式允许你使用相同的创建代码生成不同类型和形式的对象。 原型原创 2021-04-04 21:40:31 · 96 阅读 · 0 评论 -
面向对象的设计原则
SOLID原则 S:单一职责原则 Single Responsibility Principle 修改一个类的原因只能有一个。 O:开闭原则 Open/closed Principle 对于扩展,类应该是“开放”的;对于修改,类则应是“封闭”的。 L:里氏替换原则 Liskov Substitution Principle 当你扩展一个类时, 记住你应该要能在不修改客户端 代码的情况下将子类的对象作为父类对象进行传递。 I:接口隔离原则 Interface Segregation Princip原创 2021-04-04 21:35:54 · 58 阅读 · 1 评论 -
SOLID原则
S:单一职责原则 Single Responsibility Principle 修改一个类的原因只能有一个。 示例 我们有几个理由来对 员工(Employee)类 进行修改。 与该类的主要工作(管理雇员数据)有关。 时间表报告的格式可能会随着时间而改变,从而使你需要对类中的代码进行修改。 解决该问题的方法是将与打印时间表报告相关的行为移动到一个单独的类中。 这个改变让你能将其他与报告相关的内容移动到一个新的类中。 O:开闭原则 Open/closed Principle 对于扩展,类原创 2021-04-01 20:29:15 · 114 阅读 · 0 评论 -
单例模式 与 call_once
文章目录单例模式懒汉式不适用互斥使用互斥饿汉式call_once 实现单例类 单例模式 单例模式,也叫单子模式,是一种常用的软件设计模式。 在应用这个模式时,单例对象的类必须保证只有一个实例存在。 许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。 懒汉式 不适用互斥 mutex singelton_mutex; class Singelton { public: ...原创 2019-08-12 15:15:13 · 314 阅读 · 0 评论