设计模式
yunsongice
这个作者很懒,什么都没留下…
展开
-
工厂模式(Factory)
在面向对象的编程中,工厂模式是一种经常被使用到的模式。总的来说,在工厂模式里,如果有一个公共的抽象父类,该父类派生出一组子类。那么在创建不同的子类时,把任务交给一个工厂类,由它选择生成哪个子类实例,即用户只需要传递必要的参数给工厂类就可以了,而不去关心具体的子类是怎样产生的。根据工厂类的不同,工厂模式分3种:1.简单工厂(Simple Factory)模式;2.工厂方法(Factory原创 2010-04-30 09:04:00 · 1556 阅读 · 0 评论 -
单例模式(Singleton)
<br />单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。<br /> <br />单例模式有以下特点:<br />1、单例类只能有一个实例。<br />2、单例类必须自己创建自己的唯一实例。<br />3、单例类必须给所有其他对象提供这一实例。<br /> 1 懒汉式单例<br /> <br />在类被加载的时候,唯一实例已经被创建。这个设计模式在Java中容易实现,在别的语言中难以实现。<br />/**<br />* Created by IntelliJ IDEA.<br />* User原创 2010-08-11 14:44:00 · 1280 阅读 · 0 评论 -
原型模式(Prototype)
<br />原型模式定义为用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。<br /> <br />Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。<br /> <br />因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一下子变得很简单。 <br /><br />原型模式很简单,就是类的复制,原创 2010-08-11 15:41:00 · 1000 阅读 · 0 评论 -
创建者模式(Builder)
《设计模式》上对创建者(Builder)模式的定义是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。相信大部分初学者都看不懂这句话。事实上,创建者模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们,用户不知道内部的具体构建细节。Builder模式非常类似简单工厂模式,细微的区别后面会提到。因为一个复杂的对象,不但有很多大量组成部分,如汽车,有很多部件:车轮、方向盘、发动机还有各种小零件等等,部件很多,但远不止这些。如何将这些原创 2010-08-11 15:20:00 · 1106 阅读 · 0 评论 -
外观模式(Facade)
<br />外观模式的定义是,为子系统中的一组接口提供一个一致的interface接口界面。<br /> <br />外观模式是个很简单,但很重要的模式,它主要思想是将表现层和逻辑层隔离,封装底层的复杂处理,只为用户提供简单的接口,这样的例子随处可见。外观模式也叫门面模式,它很多时候更是一种系统架构的设计,在我所做的项目中,就实现了门面模式的接口,为复杂系统的解耦提供了最好的解决方案。在WEB开发中的MVC分层架构就是典型的一个外观模式,每一层将操作的具体内容隐藏起来,保留一个接口供上层调用。<br />原创 2010-08-12 13:43:00 · 1085 阅读 · 0 评论 -
代理模式(Proxy)
<br />代理(Proxy)模式是一种比较有用的模式,而且变种较多,应用场合覆盖从小结构到整个系统的大结构。我们也许有代理服务器等概念,代理概念可以解释为:在出发点到目的地之间有一道中间层,意为代理。<br /> <br />《设计模式》中定义:为其他对象提供一种代理以控制对这个对象的访问。<br /> <br />代理模式的实例:<br /> <br />新建一个买车的接口:<br />public interface Buy_car_package {<br /> public void buy原创 2010-08-12 13:55:00 · 1583 阅读 · 0 评论 -
适配器模式(Adapter)
<br />通常,客户类是通过另一个类提供的方法访问另一个类的服务。有时,现有的类可以提供给客户类的功能需要,但是它所提供的方法不一定是客户类所期望的。这是由于现有的方法太详细或者缺乏详细或方法的名称与客户类所查找的不同等诸多不同原因导致的。<br /> <br />在这种情况下,现有的方法需要转化为客户类期望的接口,这样保证了对现有类的重用。如果不进行这样的转化,客户类就不能利用现有类所提供的功能。适配器模式可以完成这样的转化。适配器模式建议定义一个包装类,包装有不兼容方法的对象。这个包装类指的就是适配器原创 2010-08-12 14:47:00 · 1065 阅读 · 0 评论