
设计模式
文章平均质量分 68
iteye_13111
这个作者很懒,什么都没留下…
展开
-
Facade(门面)模式
一、模式简介 外观模式(Facade Pattern)可以将一系列复杂的类包装成一个简单的封闭接口。也称门面模式.二、模式意图 facade(门面)模式的作用在于降低客户端操作与Server之间的耦合度,提供统一的访问入口供客户端使用。减少回底层变化给客户端使用带来的不便。它适用于一组相对固定且有实际意义的操作,如去医院看病分为挂号、门诊、划价、化验、收费、取药等。这些操作都可...原创 2010-11-13 14:43:35 · 254 阅读 · 0 评论 -
Decorator模式
Decorator模式其实就是对一个Component进行装饰,以使其能够完成复杂或各种不同的业务逻辑,而这种装饰对于客户来说则是透明的,因为客户要调用的接口方法是一样的。通常Decorator模式会涉及到4个部分:[list][*]1.[b]Compent[/b]:统一的业务逻辑接口,客户端调用的接口方法将在这里定义。[*]2.[b]ConcreteComponent...原创 2012-09-16 00:17:32 · 189 阅读 · 0 评论 -
Proxy模式
Proxy模式是在客户端不方便或者不能直接访问业务逻辑时,通过第三方类提供访问的一种方法。这种代理除了提供业务逻辑访问之外,还可以增加业务功能,好比Decorator模式。通常情况下,它包含三个部分:[list][*]1.[b]Component[/b]:需要提供的业务功能抽象[*]2.[b]Proxy[/b]:代理类[*]3.[b]RealComponent[/b...原创 2012-09-15 16:27:51 · 129 阅读 · 0 评论 -
Bridge模式
Bridge模式的目的就是为了适应变化,如不同的人在不同的情况下睡觉的姿式,时间都不尽相同,故需要适应变化, Bridge模式将实体对象的抽象及其行为的抽象相分离,通过一定的组合,来实现变化的需要;而从单个单个变化来看,他的结构又和Adapter模式的结构相似,故Bridge模式又可以理解为我们为N个不同的场景而建立的N个Adapter模式。Bridge模式包含四个部分:[li...原创 2012-08-05 14:59:17 · 80 阅读 · 0 评论 -
Composite模式
[size=large]Composite模式主要包含三个部分:[/size] [b]1. Component接口:[/b]为Client对象调用提供的接口,也是Composie模式要管理的数据结构的统称。 [b]2. Leaf:[/b]Composite模式所管理的数据结构中的单个实体。 [b]3. Composite:[/b...原创 2012-08-05 14:15:39 · 116 阅读 · 0 评论 -
Facade模式
Facade如其名,为门面,他抽象或者组合了子系统的内部接口,从而实现一个更高一层次的功能组合,使得子系统的使用更加方便。它仅需要提供一个门面,提供对子系统的封装及可。 比如说,人跑步这个动作,它是人体多个机能器官共同合作的结果,如果要提供一个跑步的方法,那么就是对于子系统的一个高层次的封装且这个方法可以多次复用。[size=large]Façade模式的...原创 2012-07-26 20:46:25 · 117 阅读 · 0 评论 -
Adapter模式
Adapter模式主要是为了解决一个或者几个类的方法的复用问题。或者在系统的扩展问题上,或者在两个系统之间的衔接问题上,或者是在系统设计阶段保留一个系统的可复用性上。Adapter模式主要有三个角色: [b]1.Target:[/b] 这是Adapter需要兼容或者适应的客户接口; [b]2.Adaptee:[/b] 这是Adapter所提供的接...原创 2012-07-22 21:16:48 · 246 阅读 · 0 评论 -
接口模式(Interface)
在说到接口模式之前首先需要提到两个概念,一个是Interface,一个是AbstractClass. Interface在Java中是为了规定类与类之间交互的行为,限制了彼此交互的方式。实现Interface的类需要实 现其所有方法。所以一般在Interface定义都有粒度的要求,即保证Interface在每次被implements的时候,其定义的所有方...原创 2012-07-22 14:26:31 · 367 阅读 · 0 评论 -
OO原则的一些想法
[b][size=x-large]一、OO特性[/size][/b][b]1.抽象(Interface and AbstractClass)[/b] 抽象其实就是一种建模,抽象过程就是一个认识事务关系的过程,而抽象的结果就是我们对于事务关系认识的结果,也就是我们对于事务关系的建模结果。而在建模过程中需要考虑到的东西,这个根据设计人员自身的经验和思维以及采用的建模方式不...原创 2012-07-07 22:06:24 · 189 阅读 · 0 评论 -
关于模块化薪资系统设计方案的讨论
最近因为公司在薪资制度方面的改革,导致现行薪资系统也遇到很大的变动。故思考了一下关于薪资系统模块化的问题。 如果需要将一个系统模块化,我认为其功能必须具有通用性,就是说这个功能必须适应现行的普遍需求。那么,具体到薪资也就是要求这个模块化后的系统必须能够满足现在正规企业,或者说再强大点儿,能够满足现行的基本所有企业的薪酬计算要求。 那么这里面就涉及到几个问题: ...2011-03-10 15:23:48 · 842 阅读 · 0 评论 -
OO系统架构设计浅谈
我们设计系统是为子完成某项业务,为系统设计特定的模式则主要是了项目开发和后期维护,而两者中维护更是主要目标。为此,Peter Coad提出了他的三个设计目标:可扩展性,灵活性,可插入性。对于以抽象、继承和多态为主要特性的OO设计,人们又提出了三个设计原则: 1.封装变化Encapsulate what varies. 2.面向接口编程而非实现 Code to an in...原创 2012-05-04 12:13:51 · 1775 阅读 · 0 评论