![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Design Patterns
Butterfly_Dreaming
这个作者很懒,什么都没留下…
展开
-
装饰者模式(Decorator)
软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。本文介绍装饰模式的实现。 装饰模式:动态转载 2014-03-21 17:43:54 · 755 阅读 · 0 评论 -
代理模式Porxy -- 动态代理待续
概述 因为某个对象消耗太多资源,而且你的代码并不是每个逻辑路径都需要此对象, 你曾有过延迟创建对象的想法吗 ( if和else就是不同的两条逻辑路径) ? 你有想过限制访问某个对象,也就是说,提供一组方法给普通用户,特别方法给管理员用户?以上两种需求都非常类似,并且都需要解决一个更大的问题:你如何提供一致的接口给某个对象让它可以改变其内部功能,或者是从来不存在的功能? 可以通过转载 2014-03-26 16:57:51 · 1409 阅读 · 0 评论 -
简单工厂模式(Static Factory Method
概念讲解聚合(Aggregation):聚合表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分【DPE】合成(Composition),组合:表示一种强的‘拥有’关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样【DPE】简单工程模式基本介绍从设计模式的类型上来说,简单工厂模式是属于创建型模式,又原创 2014-03-21 11:53:06 · 1033 阅读 · 0 评论 -
软件设计重要原则
单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因。如何一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这个耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。典型的情况,就是界面与逻辑要进行分离。开放-封闭原则:软件实体应该是可以扩展的,但是不可修改。两个特征:对于扩展是开原创 2014-03-21 15:52:45 · 712 阅读 · 0 评论 -
原型模式(prototype)
一、概述: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。其中有一个词很重要,那就是拷贝。可以说,拷贝是原型模式的精髓所在。举个现实中的例子来介绍原型模式。找工作的时候,我们需要准备简历。假设没有打印设备,因此需手写简历,这些简历的内容都是一样的。这样有个缺陷,如果要修改简历中的某项,那么所有已写好的简历都要修改,工作量很大。随着科技的进步,出现了打印设备。我们只需手写转载 2014-03-27 16:24:22 · 672 阅读 · 0 评论