摘要: 单一职责原则 定义: 如果你能想到多余一个的动机去改变一个类,那么这个类就具有对于一个的职责,就应该考虑类的职责分离 职责过多的坏处 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或抑制这个类完成其它职责的变化,这些耦合会导致脆弱的设计,当发生变化时,设计会遭受意想不 阅读全文
posted @ 2017-03-14 22:06 liuconglin 阅读(678) 评论(0) 推荐(0) 编辑
摘要: 定义 访问者模式定义: 把数据结构, 和作用于数据结构上的操作,分离 模式结构 代码实现 场景: 男人和女人谈恋爱,男人的状态和女人的状态 代码实现:点击下载 特点和使用场景 优点:很容易增加新的操作 缺点: 使增加新的数据结构变得困难 使用场景: 数据结构相对稳定的系统 阅读全文
posted @ 2017-03-13 22:16 liuconglin 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 定义 解释器模式定义: 你对一个机器人说"哥们,向前走",它能听懂并按照你的话去执,这里运用了解释器模式,把你的一句话,转成实际的命令程序执行 模式结构 代码实现 场景:a+b 场景分析: a,b 对应终结符表达式, +对应非终结符表达式 代码实现:点击下载 特点和使用场景 特点: 容易改变还扩展文 阅读全文
posted @ 2017-03-13 20:39 liuconglin 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 定义 享元模式定义: 内部状态和外部状态: 比如: 模式结构 代码实现 场景: 博客园是一个大型的网站,每个人的博客是一个小型的网站,根据用户的id,展示的内容不一样, 因此数据和模板不同,但代码核心和数据库是共享的 代码: 点击下载 特点和使用场景 优点: 避免大量相似类的开销 使用场景: 程序中 阅读全文
posted @ 2017-03-12 00:29 liuconglin 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 定义 责任链模式定义: 比如: 员工小张向组长申请加薪, 组长没这个权利并将请求告诉部长,部长同意了小张的加薪请求 模式结构 代码实现 场景: 经理可以批准请假, 经理的上级是总监, 总监可以批准加薪 代码实现:点击下载 优点 1.客户端不知道哪一个对象最终处理请求,在不影响客户端的情况下可以动态的 阅读全文
posted @ 2017-03-08 22:21 liuconglin 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 定义 命令模式定义: 比如: 吃烤串时, 客人点烤羊肉,烤鸡肉, 服务员记录下客人的点餐记录,然后通知厨师开始做 命令模式将功能(请求)封装成对象 目的 对命令请求者(Invoker)和命令实现者(Receiver)的解耦,方便对命令进行各种控制。 模式结构 代码实现 场景: 去饭店吃烤串 代码: 阅读全文
posted @ 2017-03-07 22:39 liuconglin 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 定义 桥接模式定义: 系统有多角度分类,每一种分类都有可能变化,那么就把这种多角度分离出来,让它们独立变化,每种变化不会影响其它实现 每个维度提取出抽象和它的实现, 即“子类化”它们,得到各个子类之后,便可以任意它们变化 比如: 模式结构 代码实现 场景: 手机M品牌,手机N品牌, 它们都要游戏功能 阅读全文
posted @ 2017-03-01 22:29 liuconglin 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 定义 单例模式定义: 若显式的定义构造方法,则系统默认的构造方法就会失效,让类自身负责保存它的一个实例,这个类可以保证没有其他实例被创建 模式结构图 getInstance: 静态方法,创建唯一的实例, 允许客户端访问它的唯一实例 代码实现 场景:多线程+ 双重锁定 点击下载代码 懒汉式 特点和使用 阅读全文
posted @ 2017-03-01 20:12 liuconglin 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 定义 迭代器模式定义: 也就是说必须要有 第一个开始,下一个是谁,是否结束,当前哪一项 例如: 售票员一个一个的询问乘客是否买票 模式结构 Iterator:迭代抽象类,定义得到开始对象,下一个对象,判断是否到结尾,当前对象等抽象方法 Aggregate:抽象聚焦类 代码实现 场景:获取List集合 阅读全文
posted @ 2017-02-28 20:25 liuconglin 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 定义 组合模式定义: 部分与整体被一致对待 例如:笔记本电脑, 可以复制一个文件,也可以复制一个文件夹 模式结构 Component: 组合中的对象声明接口,声明所有类的默认行为,用以访问和管理子部件 Leaf: 表示叶节点对象,叶节点没有子节点 Composite: 表示子节点对象, 用来操作子部 阅读全文
posted @ 2017-02-27 12:48 liuconglin 阅读(268) 评论(0) 推荐(1) 编辑