![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 86
小左
这个作者很懒,什么都没留下…
展开
-
设计模式之原型模式
原型模式(Prototype):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。换句话说,原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需知道任何创建的细节。 原型模式最大的特点是克隆一个现有的对象,一般是由对象的内部提供克隆方法。 原型模式的结构图: 基本的原型模式的代码: //原型类 abstract class P原创 2012-12-29 20:56:03 · 729 阅读 · 7 评论 -
设计模式之观察者模式
概念:观察者模式(Observer)有时又被称为发布-订阅(Publish/Subscrib)模式,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,是它们能够自动更新自己。观察者模式(Observer)完美的将观察者和被观察的对象分离开。 结构图: 例子:员工们在讨论股票,老板走进办公室的时候,原创 2013-01-03 21:06:20 · 814 阅读 · 3 评论 -
设计模式之工厂三姐妹
工厂三姐妹分别是简单工厂模式、工厂方法模式、抽象工厂模式。他们都属于创建型模式。 1.简单工厂模式:又叫静态工厂方法,是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。它的优点是包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。他的缺点是违反了高内聚责任分原创 2013-01-23 21:33:38 · 952 阅读 · 4 评论 -
设计模式之命令模式
在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式(Command Pattern) 概念:命令模式(Command),将一个请求封装为一个对象,从而使你可用原创 2013-01-09 21:15:06 · 787 阅读 · 8 评论 -
设计模式总结
为什么要使用设计模式?因为使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性,设计模式是软件工程的基石,如同大厦的一块块砖石一样。 面向对象原则 面向对象有六大原则:单一职责原则、开放封闭原则、依赖倒转原则、里氏代换原则、迪米特法则、合成/聚合复用原则 。设计模式当然也要遵循这些原则。 单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。原创 2013-01-30 20:57:22 · 666 阅读 · 4 评论 -
设计模式之享元模式
享元模式(Flyweight),运用共享技术有效地支持大量细粒度的对象。它使用共享物件,用来尽可能减少内存使用量以及分享资讯给尽可能多的相似物件;它适合用于当大量物件只是重复因而导致无法令人接受的使用大量内存。通常物件中的部分状态是可以分享。常见做法是把它们放在外部数据结构,当需要使用时再将它们传递给享元。享元模式的特点是:复用我们内存中已存在的对象,降低系统创建对象实例的性能消耗。原创 2013-01-17 16:47:44 · 877 阅读 · 4 评论 -
设计模式之状态模式
这次合作机房收费系统时,秉着学习的态度,尽量多用设计模式,所以经过思考,在上机那儿觉得可以用状态模式。 状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况,把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。状态模式的目的就是为了消除庞大的条件分支语句,把各种状原创 2013-05-12 20:24:11 · 1066 阅读 · 10 评论 -
机房收费系统之观察者模式
这次合作机房收费系统时,经过思考,在上下机那儿觉得既可以用状态模式还可以用观察者模式。 观察者模式:(有时又被称为发布-订阅模式、模型-视图模式、源-收听者模式或从属者模式)他定义一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。UML图: 抽象被观察者提供一个借口让观察者进行添加和删除观原创 2013-05-17 21:45:04 · 1425 阅读 · 11 评论 -
状态模式之观察者和状态模式
机房收费系统合作时,我们发现在上下机那儿可以用到观察者模式、状态模式和职责链模式,他们都是行为型模式,但是他们是有区别的。 观察者模式 我的博客链接:机房收费系统之观察者模式。 观察者模式:一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。 用的条件:当一个对象的改变需要同原创 2013-05-26 21:46:28 · 1359 阅读 · 7 评论