
设计模式
设计模式
lanchengxiaoxiao
杂七杂八
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式 (七)外观模式(Facade)
外观模式(Facade)为了小小的纠正一下个人的口语,于是有道了一下:[fə'sɑ:d]对于外观模式就是为了子系统对外提供的一组接口提供一个统一的界面,似的其他系统对该系统访问都通过一个同一段的界面来完成。外观模式主要由三部分组成,一个中间类,就是Facade类,负责联系子系统提供对外的接口,一个是多个子系统,一个是客户端负责通过Facade类对子系统的功能进行操作这里通过简单的工厂生转载 2012-04-12 15:36:22 · 326 阅读 · 0 评论 -
设计模式 (十)装饰模式(Decorator)
装饰模式(Decorator)就是使用被装饰的一个子类的实例,在客户端将这个子类的实例委托给装饰类。装饰模式是结成关系的一个替代方案。简单的装饰模式是原理图入下:装饰模式以对客服端透明的方式增添了对象的功能,其在与动态的给对象添加了责任,当然这里的继承便是静态的。其中重要的地方是装饰对象和真实对象有相同的接口,这样客户端就可以用和真实对象一样的交互方式与装饰对象交互,然后装饰对转载 2012-04-12 15:43:37 · 328 阅读 · 0 评论 -
设计模式 (十二)组合模式(Composite)
树形结构在日常生活中是非常常见的,比如组织机构的这几,软件菜单的设计等,这些属性结构,他们的叶子节点和父节点在行为上基本是一致的。只是在父节点上可能又包含了子节点。这类应用在软件设计中,如果更好的来实现呢?这样我们就引出了下面对于组合模式的简单介绍:组合模式(Composite)是整体与部分的关系,一个典型的应用就是树型结构,组合模式可以抽象出三种角色,分别为抽象构建角色(Component)转载 2012-04-12 15:44:25 · 419 阅读 · 0 评论 -
设计模式 (二)工厂方法模式(FactoryMethod)
工厂方法模式原理图:具体实现代码:[java] view plaincopypackage com.designpattern.factorymethod; public interface FactoryMethod { public Animal createAnimal(); } [java] view plai转载 2012-04-12 15:41:27 · 282 阅读 · 0 评论 -
设计模式——前言
如果在中心(实验室),就看《linux鸟哥的私房菜》,一边看一边操作,这样也是可以的如果在教室就看《易学设计模式》《java编程细想》,每天坚持看一个设计模式,然后就看《java编程细想》,不过看完了就把好的地方记下来,回去上机操作这样的话虽然有点乱,好像一个人不能兼顾好多一样,但是说回来,可以让我哪个东西都不落下,不然等我就看一个《java编程细想》的时候,看完了这个学期都已经结束了转载 2012-04-12 15:40:41 · 304 阅读 · 0 评论 -
设计模式 (四)创建者模式(Builder)
创建者模式主要是为了所谓的高聚合,解耦合,遇到多种配件于一身的情况的时候,放在实体类里面不合适,放在工厂类也不合适,所以就添加了一个创建者类,专门对相应的零件进行组装,如同汽车了N中配件,同时要是各种配件互相联系的话也在这个Builder里面一并做了。明天准备去爬山,这个原理图就再补上吧:今天把uml补上了,不过对于uml初学的我就乱乱的先随便画一个吧,等以后慢慢入门了在斟酌里面的错误和细转载 2012-04-12 15:38:12 · 580 阅读 · 0 评论 -
设计模式 (五)原型模式(Prototype)
原型模式就是通过一个原型对象来表明要创建的对象类型,然后用复制这个原型对象的方法来创建更多同类型的对象。自己对原型模式简单理解的原理图如下:具体属性没有添加:原型模式里面关键点就在一个Cloneable接口和clone方法的重写下面就通过一个配钥匙的例子简单的写了一个程序,起初一个一个抽象类,这样可以重写clone方法,如果是接口的话就得到子类里面把重写的方法具体声明,这样转载 2012-04-12 15:37:34 · 378 阅读 · 0 评论 -
设计模式 (六)单例模式(Singleton)
单例模式就是确保一个类只有一个实例,并且该实例必须自动创建,并向整个系统提供该实例。这样保证了对外的对象的属性等均为一个实例,就像是银行取款单例模式原理图:单例模式分为饿汉式单例模式和懒汉式单例模式。饿汉式单例模式代码[java] view plaincopypackage com.designpattern.singleton; public转载 2012-04-12 15:36:59 · 378 阅读 · 0 评论 -
设计模式 (八)适配器模式(Adapter)
适配器模式(Adapter)就是由源到目标的一个适配,通常我们定义的接口或者类里面提供了好多方法,但是有时候用起来不是很符合,但是我们不能修改源码,那确实也不是一个好的方法,这样就提供了适配器这个类,用一个类来时源能匹配目标就可以了。在Spring,IO里面都有这方面的设计,最简单的BeanUtils里面的转换器,就是当你没有定义相应的vo类似那个的时候,可以自动一个转化器然后应用就可以了。转载 2012-04-12 15:35:36 · 376 阅读 · 0 评论 -
设计模式 (一)简单工厂模式(SimpleFatory)
一点点从基础做起,23中设计模式一天看一个首先学习了一个UML,但是没有能下到RationalRose,想去官网上下载,但是似乎收费,索性就用手头上的StartUML,其实就是一个工具,能实现就行了SimpleFactory——简单设计模式原理图[java] view plaincopypackage com.designpattern.转载 2012-04-12 15:39:09 · 342 阅读 · 0 评论 -
设计模式 (十一)桥模式(birdge)
简单的桥模式(birdge)将抽象与其实现解耦合,使他们的可以独立地变化,中文里把派生类叫做抽象的实现,而桥模式中所讲的实现恰恰不是这个意思,桥模式中的抽象类及派生类,实现指的是这些抽象类及派生类实现自己的方式。简单的桥模式(birdge)的原理图下面是关于这个模式的简单的一个例子程序,有一个鼠标抽象类,其这个鼠标分别属于联想和宏基生产的,这样用桥模式通过组合和继承,简转载 2012-04-12 15:44:01 · 460 阅读 · 0 评论 -
设计模式 (九)代理模式(Proxy)
代理模式(Proxy)就是为其他对象提供一种代理以控制这个对象的访问,一个对象不想直接访问这个对象具体Subject类:定义了RealSubject和Proxy的公用接口,这样就可以任何使用RealSubject的地方都可以用ProxyRealSubject类:定义了Proxy所代表的真实实体。Proxy类:保存一个引用使得代理可以访问实体,并提供一个与Subject的接口相同的接口,转载 2012-04-12 15:42:56 · 336 阅读 · 0 评论 -
设计模式 (三)抽象工厂模式(AbstractFactory)
抽象工厂模式(AbstractFactory)原理图初学uml不会排版,就这样凑合吧,展现大概就行了抽象,果然挺让我理解的抽象的,其实一个挺简单的模式,但是这样乱乱的画出来其实就是通过工厂创建出对象而已,只不过是对于工厂的分类方式和对于产品的分类方式不一样了而已,上面是最合理的方式(起码这个书上我是这么理解的),其实我自己觉得可以有别的方法比如我不是按照产品的种类分类,按照产品转载 2012-04-12 15:42:06 · 296 阅读 · 0 评论 -
详解Java中的clone方法 — 原型模式
Java中对象的创建 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢?1 使用new操作符创建一个对象2 使用clone方法复制一个对象 那么这两种方式有什么相同和不同呢? new操作符的本意是分配内存。程序执行转载 2015-06-05 14:42:47 · 566 阅读 · 0 评论