装饰者模式是很有意思的一种设计模式,你将能够在不修改任何底层代码的情况下,给你的(或别人的)对象赋予新的职责。不是使用继承每回在编译时超类上修改代码,而是利用组合(composition)和委托(delegation)可以在运行时具有继承行为的效果。
代码应该如同晚霞中的莲花一样地关闭(免于改变),如同晨曦中的莲花一样地开放(能够扩展)。
这就是,设计原则之五:类应该对扩展开放,对...
分类:
编程语言 时间:
2014-06-08 17:35:12
阅读次数:
252
模式定义:
单例模式确保一个类只有一个实例,并提供一个全局访问点。
模式结构:
单例模式编程实现及执行结果:
#include
using namespace std;
单例类
class Sigleton
{
public:
static Sigleton* getInstance();
private:
Sigleton(){}
stat...
分类:
编程语言 时间:
2014-06-08 15:08:54
阅读次数:
242
该形式的工厂模式是我项目中用到的方法,属于很成熟的模版,读者可以直接拿来在自己项目中使用。个人感觉这种方法真正做到了“开放封闭”的原则,最大好处是用户产品类的设计完全不依赖于该模式的实现,比如提供必须的相关函数等。如果不理解工厂模式的话,请参考网上其它文章,本实现在理解上有一点小小的难度。好东西,大家慢慢享用,话不多说,先放代码!
首先是产品基类,它相当于一个接口,产品需要有什么动作就写在这里吧...
分类:
其他好文 时间:
2014-06-08 14:56:18
阅读次数:
202
(1)确定变量和返回值是属于原语(primitive)类型或者可序列化的(Seriailizable)类型。原语类型 都实现了Seriailizable接口。
(2)transient 关键字,告诉JVM不要序列化这个字段。
动态类下载(dynamic class downloading )
代理模式 :控制对象的访问
代理模式有很多种。如:远程代理,虚拟代理。动态代理(...
分类:
其他好文 时间:
2014-06-08 10:32:05
阅读次数:
245
大话设计模式原型模式,实例教会你怎样使用原型模式。...
分类:
其他好文 时间:
2014-06-08 10:29:27
阅读次数:
177
定义:为创建一组相关或相互依赖的对象提供一个接口,并且无需指定他们的详细类。类型:创建类模式类图:抽象工厂模式与工厂方法模式的差别
抽象工厂模式是工厂方法模式的升级版本号,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的差别就在于,工厂方法模式针对的是一个产品等级结构;而抽象工厂模式则是针对...
分类:
其他好文 时间:
2014-06-08 07:30:58
阅读次数:
211
一、首先说说View和ViewGroup吧Android系统中的所有UI类都是建立在View和ViewGroup这两个类的基础上的。所有View的子类成为”Widget”,所有
ViewGroup的子类成为”Layout”。View和ViewGroup之间采用了组合设计模式,可以使得“部分-整体”同...
建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示简单描述:1个产品类(可有可无,关键是建造流程),1个抽象建造步骤类,多个具体建造子类(不同的类建造不同的产品),1个指挥者(用于规定建造流程),客户端指定需要建造的具体类型,由指挥者建造好之后,建造者子类返回对应产...
分类:
编程语言 时间:
2014-06-08 06:39:08
阅读次数:
296
设计模式是跟具体业务息息相关的。设计模式产生的原因:存在复杂的业务,经常需要系统重构。为了减轻工程师的工作量,便于系统重构和修改,便于测试,设计模式产生了,其目的就是上面所说的。所以设计模式不会凭空出现,不同的业务会产生不同的设计模式。系统重构产生的原因:第一次设计开发系统的时候,总是会有遗漏,会有...
分类:
其他好文 时间:
2014-06-07 23:11:01
阅读次数:
397
定义单例模式是一种保证一个类中只有一个实例对象的软件设计模式。它需要确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个还是比较好理解的,一个国家只能有一个国王,不可以出现第二个,所有的人都只能来膜拜这个伟大的国王。下面直接上代码。实现国王类public
class King { ....
分类:
其他好文 时间:
2014-06-07 20:13:42
阅读次数:
215