开发设计-设计模式
文章平均质量分 77
谦言万语
研究总结规律,发现简单唯美!
展开
-
设计模式 (二)工厂方法模式(FactoryMethod)
工厂方法模式原理图:具体实现代码:[java] view plaincopypackage com.designpattern.factorymethod; public interface FactoryMethod { public Animal createAnimal(); }转载 2012-04-16 10:41:46 · 292 阅读 · 0 评论 -
高内聚,低耦合
起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。 耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。 耦合性分类(低――高): 无直接耦合;数据耦合;标记耦合;控转载 2012-11-06 20:07:05 · 1665 阅读 · 0 评论 -
设计模式 (十四)模板方法模式(Template)
模板方法模式(Template)是行为模式之一,其就是简单定义一个算法执行骨架,而将其具体的算法延迟到子类中实现,从而使出现过多的类的时候不用再改变算法和结构直接添加一个实现子类就可以了。一般在具体统一的操作步骤和业务功能,但是具有不同的细节处理,这样用模板方法模式减少了代码的复用下面简单的看看模板方法模式的原理图:实例对象对于抽象类的继承,展开了具体的细节功能的处转载 2012-04-16 11:06:30 · 376 阅读 · 0 评论 -
设计模式 (十二)组合模式(Composite)
树形结构在日常生活中是非常常见的,比如组织机构的这几,软件菜单的设计等,这些属性结构,他们的叶子节点和父节点在行为上基本是一致的。只是在父节点上可能又包含了子节点。这类应用在软件设计中,如果更好的来实现呢?这样我们就引出了下面对于组合模式的简单介绍:组合模式(Composite)是整体与部分的关系,一个典型的应用就是树型结构,组合模式可以抽象出三种角色,分别为抽象构建角色(Componen转载 2012-04-16 11:05:22 · 413 阅读 · 0 评论 -
设计模式 (十一)桥模式(birdge)
简单的桥模式(birdge)将抽象与其实现解耦合,使他们的可以独立地变化,中文里把派生类叫做抽象的实现,而桥模式中所讲的实现恰恰不是这个意思,桥模式中的抽象类及派生类,实现指的是这些抽象类及派生类实现自己的方式。简单的桥模式(birdge)的原理图下面是关于这个模式的简单的一个例子程序,有一个鼠标抽象类,其这个鼠标分别属于联想和宏基生产的,这样用桥模式通转载 2012-04-16 11:04:47 · 2237 阅读 · 0 评论 -
设计模式 (十)装饰模式(Decorator)
装饰模式(Decorator)就是使用被装饰的一个子类的实例,在客户端将这个子类的实例委托给装饰类。装饰模式是结成关系的一个替代方案。简单的装饰模式是原理图入下:装饰模式以对客服端透明的方式增添了对象的功能,其在与动态的给对象添加了责任,当然这里的继承便是静态的。其中重要的地方时装饰对象和真是对象有相同的接口,这样客户端就可以和真是对象一样的交互方式和装饰对象交转载 2012-04-16 11:04:01 · 350 阅读 · 0 评论 -
设计模式 (九)代理模式(Proxy)
代理模式(Proxy)就是为其他对象提供一种代理以控制这个对象的访问,一个对象不想直接访问这个对象具体Subject类:定义了RealSubject和Proxy的公用接口,这样就可以任何使用RealSubject的地方都可以用ProxyRealSubject类:定义了Proxy所代表的真实实体。Proxy类:保存一个引用使得代理可以访问实体,并提供一个与Subject的接口转载 2012-04-16 11:03:10 · 357 阅读 · 0 评论 -
设计模式 (五)原型模式(Prototype)
原型模式就是通过一个原型对象来表明要创建的对象类型,然后用复制这个原型对象的方法来创建更多同类型的对象。自己对原型模式简单理解的原理图如下:具体属性没有添加:原型模式里面关键点就在一个Cloneable接口和clone方法的重写下面就通过一个配钥匙的例子简单的写了一个程序,起初一个一个抽象类,这样可以重写clone方法,如果是接口的话就得到子类里面把重写转载 2012-04-16 10:58:42 · 351 阅读 · 0 评论 -
设计模式 (四)创建者模式(Builder)
创建者模式主要是为了所谓的高聚合,解耦合,遇到多种配件于一身的情况的时候,放在实体类里面不合适,放在工厂类也不合适,所以就添加了一个创建者类,专门对相应的零件进行组装,如同汽车了N中配件,同时要是各种配件互相联系的话也在这个Builder里面一并做了。明天准备去爬山,这个原理图就再补上吧:今天把uml补上了,不过对于uml初学的我就乱乱的先随便画一个吧,等以后慢慢入门了在斟酌里面的转载 2012-04-16 10:57:46 · 349 阅读 · 0 评论 -
通过追MM的方法解析23种设计模式
1、FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建转载 2012-04-17 10:27:49 · 496 阅读 · 0 评论 -
设计模式 (十五)观察者模式(Observer)
观察者模式(Observer)就是定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都得到通知并被自动更新。对于观察者模式的原理图: 通过一个一个抽象的主题Subject保存了多个信息处理列表,可以添加多个观察者,实现即时的通知观察者最新动态然后分别派生子类对象对具体的消息和状态做出处理,下面我们联系到具体的问题:正好我还在读,就拿学校通知公转载 2012-04-16 11:07:54 · 414 阅读 · 0 评论 -
设计模式 (七)外观模式(Facade)
外观模式(Facade)为了小小的纠正一下个人的口语,于是有道了一下:[fə'sɑ:d]对于外观模式就是为了子系统对外提供的一组接口提供一个统一的界面,似的其他系统对该系统访问都通过一个同一段的界面来完成。外观模式主要由三部分组成,一个中间类,就是Facade类,负责联系子系统提供对外的接口,一个是多个子系统,一个是客户端负责通过Facade类对子系统的功能进行操作这里通过转载 2012-04-16 11:01:26 · 355 阅读 · 0 评论 -
设计模式 (一)简单工厂模式(SimpleFatory)
一点点从基础做起,23中设计模式一天看一个首先学习了一个UML,但是没有能下到RationalRose,想去官网上下载,但是似乎收费,索性就用手头上的StartUML,其实就是一个工具,能实现就行了SimpleFactory——简单设计模式原理图[java] view plaincopypa转载 2012-04-16 10:40:49 · 374 阅读 · 0 评论 -
设计模式 (十三)享元模式(Flyweight)
享元模式(Flyweight)就是把部分和整体的关系用树形结构来表示,从而使客户端能够把一个个的部分对象和有他们组合起来的整体对象采用同样的方式看待,他也是一个继承的替代,其实具体的说,享元模式就是用时间交换了空间。用程序的运行速度来读取是否重复的对象内容,然后不创建一个重复的对象来节省空间,于此同时就大大提高了程序的运行效率。下面就简单的原理图:然后通过一个字符的库创转载 2012-04-16 11:05:55 · 343 阅读 · 0 评论 -
设计模式 (八)适配器模式(Adapter)
适配器模式(Adapter)就是由源到目标的一个适配,通常我们定义的接口或者类里面提供了好多方法,但是定义好的接口里面的方法有时候用起来不是很符合我们的需要,这时候如果去修改源码也不是一个好方法,通常设计的时候也很少修改源码的。这样就提供了适配器这个类,用一个类来达到源和目标的匹配就可以了,当然可以实现我们想要的各种匹配。在Spring,IO里面都有这方面的设计,最简单的BeanUtils转载 2012-04-16 11:02:30 · 430 阅读 · 0 评论 -
设计模式 (六)单例模式(Singleton)
单例模式就是确保一个类只有一个实例,并且该实例必须自动创建,并向整个系统提供该实例。这样保证了对外的对象的属性等均为一个实例,就像是银行取款单例模式原理图:单例模式分为饿汉式单例模式和懒汉式单例模式。饿汉式单例模式代码[java] view plaincopypackage com.designpatter转载 2012-04-16 10:59:20 · 381 阅读 · 0 评论 -
设计模式 (三)抽象工厂模式(AbstractFactory)
抽象工厂模式(AbstractFactory)原理图初学uml不会排版,就这样凑合吧,展现大概就行了抽象,果然挺让我理解的抽象的,其实一个挺简单的模式,但是这样乱乱的画出来其实就是通过工厂创建出对象而已,只不过是对于工厂的分类方式和对于产品的分类方式不一样了而已,上面是最合理的方式(起码这个书上我是这么理解的),其实我自己觉得可以有别的方法比如我不是按照产品的种转载 2012-04-16 10:42:42 · 365 阅读 · 0 评论 -
设计模式——前言(目录、源码、资料)
原文:http://blog.csdn.net/wclxyn/article/details/7409658这哥们写得太好了,所以转载过来以备不时只需。-------------------------------------------------------------------------这两天就结了好几天,其实原因太没趣了,就是不知道自己的学习方向了不过也转载 2012-04-16 11:08:58 · 427 阅读 · 0 评论