Builder模式Builder模式要解决的问题是把对象的构建和对象的表示分开来。当对象复杂的时候我,我们可以一步步来构建对象,在每一步的构建过程中,可以引入参数,通过不同的参数,即使经过相同的步骤最后可以得到不同的对象。通过一个实例来说明,Product是我们要构建的对象,在Builder类中构建,通过BuildPartA、BuildPartB、BuildPartC三步来构建对象,一个Concre...
分类:
其他好文 时间:
2015-07-10 20:52:21
阅读次数:
170
Singleton模式Singleton模式是解决怎么创建唯一对象问题的。在面向过程的设计语言中,我们可以通过创建全局对象来实现;在面向对象的设计语言中,也可以这样做,但是除此之外还有更好的解决方法:Singleton模式。Singleton模式十分简单,用一个static成员变量来记录唯一的对象实例,通过static接口来获取此实例,在类外禁用构造函数防止创建类的实例。下面是Singleton模式...
分类:
其他好文 时间:
2015-07-10 19:00:52
阅读次数:
139
1. Brief 一直对Observer Pattern和Pub/Sub Pattern有所混淆,下面打算通过这两篇Blog来梳理这两种模式。若有纰漏请大家指正。2. Use Case 首先我...
分类:
其他好文 时间:
2015-07-09 19:45:23
阅读次数:
180
原文: http://www.galloway.me.uk/tutorials/singleton-classes/在iOS开发中,单例是最有用的设计模式之一。它是在代码间共享数据而不需要手动传递参数的一种最有用的方法。关于单例和其他设计模式,请参考这本书:《Cocoa design pattern...
分类:
其他好文 时间:
2015-07-09 12:33:58
阅读次数:
92
The Command Pattern:encapsulates a request as an object, thereby letting you parameterize other objects with different requests, queue or log requests...
分类:
其他好文 时间:
2015-07-09 06:21:02
阅读次数:
117
设计模式的由来:
20 世纪 90 年代初,一些聪明的开发人员偶然接触到 Alexander(Christopher Alexander 的建筑师) 有关模式的工作。他们很想知道,在建筑学成立的理论,是否在软件设计中也适用。
● 软件中是否存在不断重复出现、可以以某种相同方式解决的问题?
● 是否可能用模式方法来设计软件,即先找出模式,然后根据这些模式
创建特定的解决方案?GoF 自己并没有...
分类:
其他好文 时间:
2015-07-09 00:54:26
阅读次数:
151
what?
Provide a unified interface to a set of interfaces in a sub- system.
Facade defines a higher-level interface that makes the subsystem
easier to use. ——GOF
给子系统中的一堆接口提供一个统一,标准的接口——更高层次的接口—...
分类:
其他好文 时间:
2015-07-09 00:50:42
阅读次数:
107
Java之美[从菜鸟到高手演变]之设计模式 设计模式(Design Patterns)转载:http://blog.csdn.net/zhangerqing ——可复用面向对象软件的基础设 计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用...
分类:
编程语言 时间:
2015-07-09 00:38:12
阅读次数:
257
在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。
设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。面向对象设计模式通常以类或对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类或对象。设计模式能使不稳定依赖于相对稳定、具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设...
分类:
其他好文 时间:
2015-07-06 18:08:57
阅读次数:
224
Python的修饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟Design Pattern里的Decorator搞混了,其实这是完全不同的两个东西。虽然好像,他们要干的事都很相似——都是想要对一个已有的模块做一些“修饰工作”,所谓修饰工作就是想给现有的模块加上一些小装饰(...
分类:
编程语言 时间:
2015-07-06 11:35:21
阅读次数:
240