04 2017 档案

摘要:http://www.cnblogs.com/Zhouyongh/archive/2009/09/10/1564099.html http://www.cnblogs.com/Zhouyongh/archive/2009/10/20/1586278.html https://www.cnblogs. 阅读全文
posted @ 2017-04-19 20:28 阿墨0925 阅读(228) 评论(0) 推荐(0) 编辑
摘要:1、职责链模式简介 1.1>、定义 职责链模式是一种行为模式,为解除请求的发送者和接收者之间的耦合,而使多个对象都有机会处理这个请求。将这些对象连接成一条链,并沿着这条链传递该请求,直到有一个对象处理它。 1.2>、使用频率 中低 2、职责链模式结构 2.1>、结构图 2.2>、参与者 职责链模式参 阅读全文
posted @ 2017-04-19 19:32 阿墨0925 编辑
摘要:在讲策略模式之前,我先给大家举个日常生活中的例子,从首都国际机场到XXX酒店,怎么过去?1)酒店接机服务,直接开车来接。2)打车过去。3)机场快轨+地铁 4)机场巴士 5)公交车 6)走路过去(不跑累死的话) 等等。使用方法,我们都可以达到从机场到XXX酒店的目的,对吧。那么我所列出的从机场到XXX 阅读全文
posted @ 2017-04-16 20:52 阿墨0925 编辑
摘要:1. 概述 当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 2. 解决的问题 主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同的一系列类当中,可以把复杂的逻辑判断简单化。 3. 模式中的角色 3.1 上下文环境(Context) 阅读全文
posted @ 2017-04-16 20:41 阿墨0925 编辑
摘要:1. 概述 定义一个操作中的算法的骨架,而将步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤。 2. 模式中的角色 2.1 抽象类(AbstractClass):实现了模板方法,定义了算法的骨架。 2.2 具体类(ConcreteClass):实现抽象类中的抽象 阅读全文
posted @ 2017-04-16 20:31 阿墨0925 编辑
摘要:一、概述 在软件开发中,我们有时需要创建大量细粒度的对象,比如文档处理系统就可能需要创建成千上万的字符对象。但如果对每个字符对象都分配内存,那么在系统运行时就会耗费大量的内存。如何在保留面向对象操作方式优点的同时避免创建大量的对象呢?这就到了享元模式发挥作用的时候了。 二、享元模式 享元模式运用共享 阅读全文
posted @ 2017-04-16 17:12 阿墨0925 编辑
摘要:1. 概述 将抽象部分(Abstraction)与实现部分(Implementor)分离,使它们可以独立地变化。 2. 解决的问题 在软件系统中,有些类型由于自身的逻辑,它具有两个或多个维度的变化。为了解决这种多维度变化,又不引入复杂度,这就要使用Bridge模式。 3. 模式中的角色 2.1 抽象 阅读全文
posted @ 2017-04-16 16:50 阿墨0925 阅读(203) 评论(0) 推荐(0) 编辑
摘要:1. 概述 动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更灵活。 原理:增加一个修饰类包裹原来的类,包裹的方式一般是通过在将原来的对象作为修饰类的构造函数的参数。装饰类实现新的功能,但是,在不需要用到新功能的地方,它可以直接调用原来的类中的方法。修饰类必须和原来的类有相同的 阅读全文
posted @ 2017-04-16 16:46 阿墨0925 阅读(146) 评论(0) 推荐(0) 编辑
摘要:1. 概述 为其它对象提供一种代理以控制对这个对象的访问。 解决的问题:如果直接访问对象比较困难,或直接访问会给使用者或系统带来一系列问题。这样对于客户端(调用者)来说,就不需要直接与真实对象进行交互,解除了调用者与真实对象的耦合。 2. 模式中的角色 2.1 抽象实体(Subject):定义了真实 阅读全文
posted @ 2017-04-16 14:43 阿墨0925 阅读(244) 评论(0) 推荐(0) 编辑
摘要:1. 概述 为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 2. 模式中的角色 2.1 外观类(Facade):外观类知道哪些子系统类负责处理请求,将客户的请求代理给恰当的子系统对象。 2.2 子系统类集合(SubSystem Classes) 阅读全文
posted @ 2017-04-16 14:30 阿墨0925 编辑
摘要:简单工厂: 拿我们的简单三层举例子 先定义dal层 工厂类 class Factory { //这样掉的好处是 当dal层发生变化的时候不需要去每个调用的地方修改对应的实例,只需要在工厂里面修改对应的实例就行。 //例如Dal的名字换成DAL 这个时候只需要改动工厂里面对应的实例名称即可。 publ 阅读全文
posted @ 2017-04-16 11:54 阿墨0925 阅读(125) 评论(0) 推荐(0) 编辑
摘要:原文引自:http://www.cnblogs.com/lonelyxmas/p/3720808.html 单例模式 单例模式就是保证在整个应用程序的生命周期中,在任何时刻,被指定的类只有一个实例,并为客户程序提供一个获取该实例的全局访问点。//一般使用第三种实现方式 一、常用模式: 这种模式只适用 阅读全文
posted @ 2017-04-16 11:29 阿墨0925 阅读(265) 评论(0) 推荐(0) 编辑
摘要:原文引自:http://www.cnblogs.com/lonelyxmas/p/3608984.html,方便自己学习 首先看一张完整的UML类图图示样例 第一(类): 这个 "动物"矩形框,它就是一个类(Class)。类图分为三个部分,第一部分显示类的名称,如果是抽象类,则就用斜体来表示。第二部 阅读全文
posted @ 2017-04-16 11:14 阿墨0925 阅读(164) 评论(0) 推荐(0) 编辑