
设计模式
parkseyoung
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式(四) Composite组合模式
背景:常常有一些组件在内部具有特定的数据结构,如果让客户程序依赖这些数据结构,将极大地破坏组件的复用。这时候,将这些特定的数据结构封装在内部,在外部提供统一的接口,来实现与特定数据无关的访问,是一种行之有效的解决方案。模式定义:将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。class Component{publi...原创 2019-07-28 23:27:26 · 187 阅读 · 0 评论 -
设计模式(一) 工厂方法 和 抽象工厂
其实工厂方法和抽象工厂是两个设计模式,之所以将它两放在一起是因为它两非常相似,都是解决对象创建这一类的问题。工厂,就是利用c++动态多态的机制(虚函数,静态多态是继承),将对象的具体创建也就是new的部分延迟到一个小黑屋里面。抽象工厂是在工厂方法的基础上进行的扩展,所以我们先了解什么是工厂方法。工厂方法,在这里我们举一个例子,我们要创建一个英灵,英灵又有好多种类的,比如Arche...原创 2019-07-20 08:16:24 · 255 阅读 · 0 评论 -
设计模式(二) 访问者模式 Vistor
在软件开发中,经常需要用到多态,继承等机制,下面是很常见的一段代码class Brand{public: virtual void productShoe() = 0;}class Nike : public Brand{public: virtual void productShoe() { //createAj1(); }};class Adidas : ...原创 2019-07-21 10:44:30 · 162 阅读 · 0 评论 -
设计模式(三) Command命令者模式
Command命令模式和Visitor访问者模式都属于行为模式,因此将它们两个连着写印象更加深刻。为什么要用命令模式? 程序编写的过程中经常会遇到对某个对象的各种操作,这些操作往往是和对象紧紧联系在一起的(紧耦合),如果遇到修改操作的情况改起来会很麻烦,如(redo和undo操作),我们用命令模式能够将起到一个解耦合的作用。命令模式的核心就是将命令(行为)封装成...原创 2019-07-26 22:54:37 · 174 阅读 · 0 评论