设计模式
阳光的颜色
我喜欢程序员,他们单纯固执,容易体会到成就感。面对压力,能够挑灯夜战不眠不休。面对困难,能够迎难而上挑战自我。他们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想,用智慧开创属于自己的事业。我想说的是,其实我是一个程序员
展开
-
Java多例模式
多例模式又划分为有上限多例模式和无上限多例模式两种,没上限的多例模式和直接 new 一个对象没什么差别,此处不做记录。有上限多例模式:实际上是单例模式的推广,如果它的上限是1,那么就成了单例模式了.多例模式特点: 1. 多例类可以有多个实例 2. 多例类必须自己创建自己的实例,并管理自己的实例,和向外界提供自己的实例原创 2015-03-26 11:34:50 · 1939 阅读 · 0 评论 -
单例模式(Java代码实现)
单例模式的定义单例模式确保类只有一个实例,并且提供一个全局的访问点。原创 2015-03-20 16:34:00 · 12874 阅读 · 2 评论 -
设计模式
设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解并且保证代码的可靠性。原创 2015-03-26 22:23:42 · 661 阅读 · 0 评论 -
集中式工厂的实现--简单工厂模式
简单工厂模式概述首先讲需要创建的各种不同对象的相关代码封装到不同的类中,这些类称为具体产品类,而将它们公共的代码进行抽象和提取后封装在一个抽象产品类中,每一个具体产品类是抽象产品类的子类;然后提供一个工厂类用于创建各种产品,在工厂类中提供一个创建产品的工厂方法,该方法可以很据所传入的参数不同创建不同的具体产品对象;客户端只需要调用工厂类的工厂方法并传入相应的参数即可以得到一个产品对象。简单原创 2015-07-13 16:03:41 · 851 阅读 · 0 评论 -
产品蔟的创建--抽象工厂模式
工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责过重的问题,但由于工厂方法模式中每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,势必会增加系统的开销。此时,可以考虑将一些相关的产品组成一个“产品蔟”,由同一个工厂统一生产,这就是抽象工厂模式的基本思想。产品等级结构和产品蔟有时候希望一个工厂可以提供多个产品对象,而不是单一的产品对象。例如一个电器工厂,它原创 2015-07-13 22:00:16 · 1134 阅读 · 0 评论 -
多态工厂的实现--工厂方法模式
工厂方法模式概述在工厂方法模式中,不再提供一个统一的工厂类来创建所有的产品对象,而是针对不同的产品提供不同的工厂,系统提供一个与产品等级结构对应的工厂等级结构。工厂方法模式提供一个抽象工厂接口来声明抽象工厂方法,而尤其子类来具体实现工厂方法,创建具体的产品对象。工厂方法模式结构工厂模式结构图中包含以下4个角色。(1) 抽象产品:它是定义产品的接口原创 2015-07-13 19:17:16 · 1535 阅读 · 0 评论 -
扩展系统功能--装饰模式
对已有对象的功能进行扩展(装饰),以获得更加符合用户需求的对象,使得对象具有更加强大的功能,这就是装饰模式。基于继承的复用缺点:(1) 系统扩展麻烦,在某些编程语言中无法实现(多继承问题)。(2) 代码重复,不利于对系统进行修改和维护。(3) 系统庞大,类的数目非常多。装饰模式概述根据合成复用原则,在实现功能复用时,多用关联(组合),少用继承。装饰类作用原创 2015-07-14 20:18:07 · 1080 阅读 · 0 评论 -
对象间的联动--观察者模式
随着交通信号灯的变化,汽车的行为也将随之变化,一盏交通信号灯可以指挥多辆汽车。在软件系统中,有些对象之间也存在类似交通信号灯和汽车之间的关系,一个对象状态或者行为的变化将导致其他对象的状态或者行为也发生变化,它们之间将产生联动。为了更好的描述对象之间存在的这种一对多(包括一对一)的联动,观察者模式应运而生,它定义对象之间一对多的依赖关系,让一个对象的改变能够影响其它对象。观察者模式概述原创 2015-07-15 15:05:01 · 1091 阅读 · 1 评论 -
提供统一入口--外观模式
在软件开发中,有时候为了完成一项较为复杂的功能,一个类需要和多个其它类进行交互,而这些需要交互的其它类通常作为一个完整的整体出现,由于涉及的类比较多,导致使用时代码较为复杂,此时,特别需要一个类似服务员一样的角色,由它复杂和多个业务类交互,使用这些业务类的类只需要和该类交互即可。外观模式,通过引入一个新的外观类来实现该功能,外观类充当了软件系统的“服务员”,它为多个业务类的调用提供了统一的入口,简原创 2015-07-16 20:18:48 · 1549 阅读 · 0 评论