[设计模式]
MarioFei
这个作者很懒,什么都没留下…
展开
-
【命令模式-Command】
一、概述 定义:将一个请求封装成一个对象,从而可以使用不同的请求对客户端进行参数化;对请求排队或记录请求日志,并且可以提供命令的撤销和恢复功能。将“行为请求者”和“行为实现者”解耦,可实现二者之间的松耦合。 队列请求:就是对命令对象进行排队,组成工作队列,然后依次取出命令对象来执行。可以使用多线程或者线程池来进行命令队列的处理,但是也可以使用一个线程,一次从队列中取出命转载 2014-01-28 19:32:07 · 724 阅读 · 0 评论 -
动态代理加深
代理的意思很好理解,它借鉴了我们日常所用的代理的意思:就是本来该自己亲自去做的某件事,由于某种原因不能直接做,而只能请人代替你做,这个被你请来做事的人就是代理。比如过春节要回家,由于你要上班,没时间去买票,就得票务中介代你购买,这就是一种代理模式。这个情景可以形象的描述如下:class:火车站{ 卖票: {……}} 火车站是卖票的地方,我们假转载 2014-05-07 00:21:45 · 632 阅读 · 0 评论 -
浅谈设计原则LSP
LSP(The Liskov Substitution Principle, Liskov替换原则)原创 2014-04-05 19:11:09 · 1745 阅读 · 2 评论 -
策略模式理解
策略模式理解原创 2014-04-05 20:17:13 · 1206 阅读 · 0 评论 -
观察者模式理解
观察者模式理解原创 2014-04-06 11:46:40 · 1094 阅读 · 0 评论 -
浅谈设计原则SRP
浅谈设计原则SRP原创 2014-04-07 17:04:07 · 1619 阅读 · 0 评论 -
UML-用例图(1)
用例图介绍原创 2014-04-07 19:22:17 · 2127 阅读 · 0 评论 -
装饰者模式理解
装饰者模式理解原创 2014-04-21 17:00:02 · 1772 阅读 · 0 评论 -
用例图(2)
用例描述--事件流原创 2014-04-07 19:41:49 · 1127 阅读 · 0 评论 -
耦合与内聚
模块独立程度的两个定性标准度量:耦合衡量不同模块彼此间互相依赖(连接)的紧密程度。耦合要低,即每个模块和其他模块之间的关系要简单;内聚衡量一个模块内部各个元素彼此结合的紧密程度。内聚要高,每个模块完成一个相对独立的特定子功能。原创 2014-04-26 11:45:39 · 1555 阅读 · 0 评论 -
浅谈设计原则ISP
浅谈设计原则ISP原创 2014-04-11 18:47:36 · 1068 阅读 · 0 评论 -
UML-顺序图 (1)
UML-顺序图 (1)原创 2014-04-11 19:15:50 · 2824 阅读 · 0 评论 -
UML-顺序图(2)
UML三种消息:调用(Procedure Call)异步(Asynchronous)返回(Return)Rose扩充:阻止(Balking)超时(Time-out)原创 2014-04-11 23:07:36 · 1347 阅读 · 0 评论 -
浅谈设计原则OCP
浅谈设计原则OCP原创 2014-04-05 20:53:08 · 1593 阅读 · 0 评论 -
状态模式
在阎宏博士的《JAVA与模式》一书中开头是这样描述状态(State)模式的: 状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为模式。 状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。状态模式的结构 用一句话来表述,状态模式把所研究的对象的行为包装在不同的状转载 2014-04-03 11:09:14 · 558 阅读 · 0 评论 -
【单件模式-Singleton】
Java 单例模式详解概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。 单例模式有一下特点: 1、单例类只能有一个实例。 2、单例类必须自己自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算转载 2014-01-26 20:44:42 · 683 阅读 · 0 评论 -
DAL、DAO、ORM、Active Record辨析
模型 Model模型是MVC中的概念,指的是读取数据和改变数据的操作(业务逻辑)。一开始我们直接把和数据库相关的代码放在模型里(sql直接写在代码中),这样就会导致以后的维护相当麻烦。业务逻辑的修改都需要开发者重新写sql,如果项目需要分库,需要将sql语句抽出来,放到单独的一层。这一层就是DAL(数据访问层)。持久层Persistence持久层只是一个逻辑概念而已,主要任转载 2014-02-01 18:41:57 · 1173 阅读 · 0 评论 -
【模板方法模式-template】
模板方法模式(TEMPLATE METHOD),用于定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤,属于类行为型模式。模板方法模式是结构最简单的行为型设计模式,在其结构中只存在父类与子类之间的继承关系。通过使用模板方法模式,可以将一些复杂流程的实现步骤封装在一系列基本方法中,在抽象父类中提供一个称之为转载 2014-02-21 13:57:11 · 710 阅读 · 0 评论 -
【策略模式-strategy】
1:定义:在《head first Design Pattern》中的定义是:策略模式定义了算法族,分别分装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。2:设计原则1) 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。2) 针对接口编程,而不是针对实现编程。3) 多用组合,少用继承。3策略转载 2014-02-27 20:25:13 · 528 阅读 · 0 评论 -
适配器模式-Adapter
定义:适配器模式是将一个类的接口转化成客户希望的另外一个接口使得原来不能兼容的类可以在一起工作主要角色:Target:客户端要求的目标接口被适配角色:Adaptee 需要适配的一个现在正在使用的接口适配器角色:Adapter 把被适配角色的接口转换成目标接口UML效果图:适配器模式分为类适配器模式和对象适配器模式,区别在于实现转载 2014-02-16 12:29:09 · 534 阅读 · 0 评论 -
外观模式【Facade】
外观模式的引文叫Facade模式,说实话,对于这个模式把Facade翻译成“外观”不大贴切,我觉得翻译成“门面”、“表面”更加好。首先引入外观模式的情景------------>我们在实践中会遇到这样的情景:客户程序需要使用多个子系统,并且多数情况下需要这些子系统相互配合来完成一个特定的功能。最简单的实现就是客户端程序直接操作这些子系统,通过以一定逻辑调用这些子系统的来完成任务。但是,如果遇到转载 2014-02-16 19:34:14 · 730 阅读 · 0 评论 -
【迭代器模式-Iterator】
定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。类型:行为类模式类图: 如果要问java中使用最多的一种模式,答案不是单例模式,也不是工厂模式,更不是策略模式,而是迭代器模式,先来看一段代码吧:[java] view plaincopypublic static void转载 2014-02-27 20:31:54 · 600 阅读 · 0 评论 -
【组合模式-composite】
组合模式,英文为COMPOSITE模式,属于对象结构型模式。用于组合多个对象形成树形结构以表示具有“整体—部分”关系的层次结构。组合模式对单个对象(即叶子对象)和组合对象(即容器对象)的使用具有一致性。通常树形结构,比如公司组织结构,文件目录,系统菜单,xml文件解析等都可以采用组合模式实现。一、适用场景1、在具有整体和部分的层次结构中,希望通过一种方式忽略整体与部分的差异,客户端转载 2014-02-27 21:39:26 · 655 阅读 · 0 评论 -
高内聚低耦合
这是软件工程中的概念,是判断设计好坏的标准,主要是面向OO的设计,主要是看类的内聚性是否高,偶合度是否低首先要知道一个软件是由多个子程序组装而成, 而一个程序由多个模块(方法)构成!“高内聚,低耦合”主要是阐述的面向对象系统中,各个类需要职责分离的思想。 每一个类完成特定的独立的功能,这个就是高内聚。 耦合就是类之间的互相调用关系,转载 2014-03-09 10:12:25 · 1483 阅读 · 0 评论 -
b/s结构与c/s结构
C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理转载 2014-04-30 15:08:30 · 1512 阅读 · 0 评论 -
浅谈设计原则DIP
浅谈设计原则DIP原创 2014-04-15 09:38:33 · 1706 阅读 · 1 评论 -
策略模式
策略模式Strategy Pattern 在Java的集合框架中,经常需要通过构造方法传入一个比较器Comparator,或者创建比较器传入Collections的静态方法中作为方法参数,进行比较排序等,使用的是策略模式。 策略模式的定义 定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。 策略模式使这些算法在客户端调用它们的时候能够互不影响转载 2014-04-03 10:36:36 · 580 阅读 · 0 评论 -
适配器模式理解
适配器模式理解原创 2014-04-12 20:41:03 · 1544 阅读 · 0 评论