![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Design pattern
不抛弃_不放弃
不抛弃亲人战友朋友不放弃自己理想希望
展开
-
简单工厂模式
简单工厂模式:先来理解一下什么是工厂,工厂就是一个可以生产很多东西的地方,生产什么东西,这就要按客户的需求了,把种思想用到编程方面就是简单工厂模式了。在代码中首先要有一个工厂类,作用是动态创建你所需要的对象,就是根据需求创建对象,工厂最好是一个抽象类或者接口,有自己属性和抽象方法,根据不同的类来继承这个工厂类,实现它的方法,再在主方法中根据需求动态常见需要的对象!这样做有什么好处呢,主要好处就便于原创 2013-04-01 13:46:47 · 514 阅读 · 0 评论 -
Java与UML协同应用开发
这个本书太老了,讲的技术也很好老,大致看了一下,对软件开发前期还是有了一点细致的了解,关键是迭代开发,和各种图,和用例!!!!原创 2013-06-09 10:38:50 · 351 阅读 · 0 评论 -
适配器模式
何时使用适配器模式:使用一个已经存在的类,但如果它的接口,也就是它的方法和你的需求不相同时,就应该考虑用适配器模式,两个类所做的事情相同或相似,但是具有不同的接口时需要使用它,客户端代码可以统一调用同一接口就行了,这样应该可以更简单,更直接,更紧凑。原创 2013-04-23 09:52:27 · 407 阅读 · 0 评论 -
被忘了模式
备忘录模式基本代码原创 2013-04-23 10:03:49 · 492 阅读 · 0 评论 -
抽象工厂模式
AbstractProductA和AbstractProductB是两个抽象产品,之所以为抽象,是因为他们都有可能有两种不同的实现,就刚才的例子来说就是User和Department,而ProductA1,ProductA2和ProductB1,ProductB2就是对两个抽象产品的具体分类的实现,比如ProductA1可以理解为是SqlserverUser,而ProductB1是Sqlserve原创 2013-04-23 09:14:03 · 380 阅读 · 0 评论 -
状态模式
abstract class State{ public abstract void Handle(Context context);}class ConcreteStateA extends State{ public void Handle(Context context){ context.State=new Co原创 2013-04-23 09:39:43 · 398 阅读 · 0 评论 -
观察者模式
/* * Subject类,可翻译为主题或抽象投资者,一般用一个抽象或者一个接口实现,它把所有对观察者对象的引用 * 保存在一个聚合里,每个主题都可以有任何数量的观察者,抽象主题提供一个接口,可以增加和删除观察者对象。 */public class Subject { private List observers = new List(); //增加观察者 publi原创 2013-04-07 10:13:09 · 379 阅读 · 0 评论 -
建筑者模式
产品类,主要就是有个list集合,这里面保存了这个产品里面都包含了那些东西Builder类,主要定义进行建筑者产品具体有那些方法实现Builder类,定义好不同建筑方法实现Builder类,定义好不同建筑方法这个就是发出建筑的命令的人,开始建筑先创建个指挥家,之后再创建2个建筑方案,指挥家说按方案b1建,这时候就产生了按b1方式建筑产品,给它命名为p原创 2013-04-03 16:38:26 · 1109 阅读 · 0 评论 -
外观模式
class SubSystemOne{ public void MethodOne(){ System.out.println("子系统方法一"); }}class SubSystemTwo{ public void MethodTwo(){ System.out.println("子系统方法二"); }}class SubSystemThree{ public void MethodThre原创 2013-04-03 15:42:23 · 464 阅读 · 0 评论 -
代理模式
Subject类,定义了RealSubject和Proxy的共用接口,这样就在任何使用RealSubject的地方都可以使用Proxyabstract class Subject{ public abstract void Request();}RealSubject类,定义了Proxy所代表的真实实体class RealSubject extend Subject{ public void Re原创 2013-04-03 13:39:47 · 475 阅读 · 0 评论 -
原型模式
原型模式:用原型实例指定创建对象的类,并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象再创建另一个可以定制的对象,而且不需要知道锐合创建的细节。我们来看一下基本的原型模式代码原型类:abstract class Prototype{ private String id; public Prototype(String id){ this.id=id; } public S原创 2013-04-03 14:45:01 · 496 阅读 · 0 评论 -
模板方法模式
模板方法模式:定义一个操作中的方法的骨架,而将一下步骤延长到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。AbstractClass 是抽象类,其实也就是一抽象模板,定义并实现了一个模板方法。abstract class AbstractClass{public abstract void PrimitiveOperation1();publi原创 2013-04-03 15:14:27 · 357 阅读 · 0 评论 -
工厂方法模式
先构建一个工厂接口interface IFactory{ Operation CreateOperation();}然后加减乘除个建一个具体工厂区去实现这个接口class AddFactory extend IFactory{ public Operation CreateOperation(){ return new OperationAdd(); }}class SubFactory ext原创 2013-04-03 14:01:46 · 503 阅读 · 0 评论 -
装饰者模式
装饰者模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。CComponent类abstract class Component{ public abstract void Operation();}ConcreteComponent类:class ConcreteComponent extend Conmponent{ public void Operati原创 2013-04-01 20:33:06 · 480 阅读 · 0 评论 -
依赖倒转原则
这明显是上层依赖底层模块,底层可以复用,而上层不可复用,这就违反了里氏代换原则:一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且它察觉不出父类对象和子类对象的区别。也就是说,在软件界面,把父类都替换成它的子类,程序的行为没有变化。正是高层模块和底层模块都依赖抽象,所以才能满足底层和高层的低耦合,和无修改式的插入。面向接口编程!原创 2013-04-01 19:18:26 · 426 阅读 · 0 评论 -
策略模式
策略模式解析:策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法之间的耦合度。public abstract class Strategy{ public abstract void AlgorithmInterface();}ConcreateStrategy类://具体方法class原创 2013-04-01 18:33:09 · 428 阅读 · 0 评论 -
访问者模式(一个集合内部对象状态的改变,进行相应的炒作)
理解就根据不同人(一个人类的子类,还要满足,这个类比较稳定,且数量较少)的不同状态做出不同的相应。这个代码主要实现就是二次分发:这个不是很常有,慢慢理解吧!原创 2013-06-07 19:13:20 · 414 阅读 · 0 评论