设计模式
文章平均质量分 90
C++语言版本的设计模式
山顶夕景
实践出真知
展开
-
【C++设计模式】建造者模式
学习总结建造者模式的优点:建造者模式中,客户端不需要知道产品内部组成细节,将产品本身和产品的创建过程分离,使同样的创建过程可以创建不同的产品对象;不同建造者相互独立,并无任何挂链,方便替换。建造者模式的缺点:建造者模式所创建的产品一般具有较多的共同点,其组成部分相似,如果产品之间的差异性很大,则不适合使用建造者模式,因此其使用范围受到一定的限制。如果产品的内部变化复杂,可能会导致需要定义很多具体建造者类来实现这种变化,导致系统变得很庞大适用环境:需要生成的产品对象有复杂的内部原创 2022-02-21 10:19:45 · 1142 阅读 · 0 评论 -
【设计模式】UML类图关系与符号
文章目录一、UML简介1.1 UML类图常用关系1.2 UML模型结构1.3 UML类的表示二、类之间的关系2.1 泛化(Generalization)2.2 实现(Realization)2.3 关联(Association)(1)单项关联(2)双向关联(3)自关联2.4 聚合(Aggregation)2.5 组合(Composition)2.6 依赖(Dependency)一、UML简介UML-Unified Model Language 统一建模语言,是在开发阶段,说明、可视化、构建和书写一个面向原创 2022-02-14 10:29:01 · 2698 阅读 · 1 评论 -
【C++设计模式】简单工厂模式
学习总结(1)设计模式之创建型:设计模式——简单工厂模式设计模式——工厂方法模式设计模式——抽象工厂模式设计模式——建造者模式设计模式——原型模式设计模式——单例模式文章目录学习总结一、简单工厂模式1.1 简介1.2 简单工厂的实现流程二、简单工厂模式结构2.1 代码结构2.2 简单工厂模式的栗子(1)抽象产品类AbstractProduct(2)定义三个具体产品类(3)定义工厂类和工厂方法(4)客户端三、小结一、简单工厂模式1.1 简介创建型模式关注对象的创建过程;创建型模式描述原创 2022-02-13 17:45:41 · 593 阅读 · 1 评论 -
【C++设计模式】工厂方法模式
学习总结工厂方法模式的优点:工厂方法用于创建客户所需产品,同时向客户隐藏某个具体产品类将被实例化的细节,用户只需关心所需产品对应的工厂;工厂自主决定创建何种产品,并且创建过程封装在具体工厂对象内部,多态性设计是工厂方法模式的关键;新加入产品时,无需修改原有代码,增强了系统的可扩展性,符合开闭原则。工厂方法模式的缺点:添加新产品时需要同时添加新的产品工厂,系统中类的数量成对增加,增加了系统的复杂度,更多的类需要编译和运行,增加了系统的额外开销;工厂和产品都引入了抽象层,客户端代码中均使原创 2022-02-17 11:13:55 · 1061 阅读 · 0 评论 -
【C++设计模式】抽象工厂模式
学习总结(1)抽象工厂模式结构与工厂方法模式结构类似,不同之处在于,一个具体工厂可以生产多种同类相关的产品。抽象工厂模式的优点:工厂方法用于创建客户所需产品,同时向客户隐藏某个具体产品类将被实例化的细节,用户只需关心所需产品对应的工厂;新加入产品系列时,无需修改原有系统,增强了系统的可扩展性,符合开闭原则。抽象工厂模式的缺点:在已有产品系列中添加新产品时需要修改抽象层代码,对原有系统改动较大,违背开闭原则适用环境:一系列/一族产品需要被同时使用时,适合使用抽象工厂模式;产品原创 2022-02-18 22:24:34 · 1565 阅读 · 1 评论