状态模式(State),当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。说实话这模式用起来好费劲,起到的作用也不是很大。适配器(Ad...
分类:
其他好文 时间:
2015-10-02 13:44:57
阅读次数:
276
当我们要完成在某一细节层次一致的一个过程或一系列步骤,但某个别步骤在详细的层次上实现不同时,我们通常考虑用模板方法模式来处理。模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法模式是通过把不变行为搬移到...
分类:
其他好文 时间:
2015-09-24 14:11:51
阅读次数:
155
原型模式(Prototype),用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需知道任何创建的细节。基本类型与引用类型的区别于关系在efficient java。http://www.cnblogs.com/linkarl...
分类:
其他好文 时间:
2015-09-23 23:31:36
阅读次数:
368
package sampleFactory;public interface IFactory { Operation createOperation();}package sampleFactory;public class AddFactory implements IFactory { ...
分类:
其他好文 时间:
2015-09-14 21:02:37
阅读次数:
135
代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。package proxy;/* * Subject Class,the common interface of RealSubject and Proxy, */public abstract class Subject { ....
分类:
其他好文 时间:
2015-09-14 00:26:33
阅读次数:
200
装饰模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。package decoratePattern;public abstract class Component { public abstract void Operation();...
分类:
其他好文 时间:
2015-09-13 14:33:18
阅读次数:
134
单一职责原则(SRP),就一个类而言,应该仅有一个引起它的变化原因。个人认为这个原则过于理想化,仅有一个并不是绝对的,合理就好。软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离【ASD】如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责。MVC,可以说良好运用了这个...
分类:
其他好文 时间:
2015-09-10 13:11:42
阅读次数:
169
书上原版的是C#代码我比较熟悉java,写的是java代码。package sampleFactory;public class Operation { protected double _numberA = 0; protected double _numberB = 0; pr...
分类:
其他好文 时间:
2015-09-01 16:51:42
阅读次数:
271
将其java代码转化为Cpp 代码。#include #include using namespace std;void func1(){ cout > numberA; cout > operate; cout > numberB; switch (operate) { case'+': cou....
分类:
其他好文 时间:
2015-04-12 19:05:37
阅读次数:
123
本书作者介绍每一种设计模式就是用类图(用的UML类图,其基础知识另文介绍)+面向对象语言小程序+人物对话解释知识点。本文就是介绍《大话设计模式》中所用到面向对象的基础知识(基于C#语言),方便阅读本书代码。类与实例(1)对象一切事物皆为对象,对象就是看到、感觉到、..
分类:
其他好文 时间:
2015-03-19 16:38:29
阅读次数:
143