设计模式
文章平均质量分 65
killfat
这个作者很懒,什么都没留下…
展开
-
C++实现类与类之间简单关系(依赖,关联,聚合,组合,继承)
学习面向对象分析(OOD)与面向对象设计(OOD),在获取并列出概念类之后,必须要明确类与类之间的关系。这些关系由弱到强大致分为一下几种:依赖、关联、聚合、组合、继承。下面将分别以我最简单的语言进行概述。首先上UML图和代码:class Wheel { int size;public: Wheel(int sz) : size(sz) {}; int getSz() {...原创 2018-07-29 23:25:30 · 13066 阅读 · 8 评论 -
Facade与Adapter模式应用
前言作为设计模式第一篇随笔,首先以个人粗浅了解谈一谈何为设计模式。 简单来说,对于某一类新问题,可以使用前人为旧问题设计过的解决方案。将前人设计的模式应用到新问题上,不仅避免了许多可能碰壁的尝试,同时也是站在了巨人的肩膀之上。设计模式广泛应用于建筑学、工程学等学科;对于软件工程,设计模式也不例外。软件中最困难的部分当属需求的变化。"需求发生了变化——它和死亡、纳税都是不可避免的三件...原创 2018-08-31 22:26:40 · 814 阅读 · 0 评论 -
Decorator装饰器模式(C++)
简而言之,它提供了一种对被装饰者透明的方法;例如:一篇文章本身无需知道自己的页首和页脚;使用者可以很方便的添加不同的页眉与页脚对比Strategy模式:对象需要知道使用的是哪个算法,该方式对组件不可见,但是调用者可以任意数量添加装饰。不足:每次装饰都会引入一个新的小对象,即使每次生成的组件类似,仍每次都新创建装饰器,会占用许多额外的存储空间。 如图,为具体的组建添加DecA...原创 2018-10-22 19:51:43 · 200 阅读 · 0 评论 -
创建型模式初步和Abstract Factory模式的实现
创建型模式抽象实例化过程。帮助一个系统独立于如何创建、组合和表示它的那些对象。 以构建一个房间探索游戏的设计为例:未引入创建型模式前,对于一个完整的探索系统,需要由用户不断地调用各个组件的构造函数,从而代码渐渐复杂起来。代码复杂且未经设计的最大的后果便是维护困难。现在想要给某一套组件换成另外一套组件,带来的后果是所有的用户代码都要进行修改。这个过程是有一定风险的。解决办法是一定存在...原创 2018-12-31 19:27:11 · 121 阅读 · 0 评论