随笔分类 -  DesignPattern相关

摘要:(<设计模式之禅> 秦晓波) 代理模式是 一种使用率非常高的模式 代理模式的定义: Provide a surrogate or placeholder for another to control access to it.(为其他对象提供一种代理以控制对这个对象的访问) 代理模式也叫委托模式,许 阅读全文
posted @ 2016-04-19 15:27 SummerChill 编辑
摘要:1 辉煌工程——制造悍马 周三,9:00,我刚刚坐到位置上,打开电脑准备开始干活。 “小三,小三,叫一下其他同事,到会议室开会”,老大跑过来吼,带着坏笑。还没等大家坐稳,老大就开讲了:“告诉大家一个好消息,昨天终于把××模型公司的口子打开了,要我们做悍马模型,虽然是第一个车辆模型,但是我们有能力、有 阅读全文
posted @ 2015-08-02 20:28 SummerChill 阅读(325) 评论(0) 推荐(0) 编辑
摘要:1 女娲的失误 上一篇讲了女娲造人的故事。人是造出来了,世界也热闹了,可是低头一看,都是清一色的类型,缺少关爱、仇恨、喜怒哀乐等情绪,人类的生命太平淡了,女娲一想,猛然一拍 脑袋,忘记给人类定义性别了,那怎么办?抹掉重来,于是人类经过一次大洗礼,所有的人种都消灭掉了,世界又是空无一物,寂静而又寂寞。 阅读全文
posted @ 2015-08-02 18:38 SummerChill 阅读(357) 评论(0) 推荐(0) 编辑
摘要:1 女娲造人的故事 东汉《风俗通》记录了一则神话故事:“开天辟地,未有人民,女娲搏黄土做人”,讲述的内容就是大家非常熟悉的女娲造人的故事。开天辟地之初,大地上并没有生物,只有苍茫大地,纯粹而洁净的自然环境,寂静而又寂寞,于是女娲决定创造一个新物种(即人类)来增加世界的繁荣,怎么制造呢?别忘了女娲是神 阅读全文
posted @ 2015-08-02 01:13 SummerChill 阅读(480) 评论(0) 推荐(0) 编辑
摘要:1 我是皇帝我独苗 自从秦始皇确立了皇帝这个位置以后,同一时期基本上就只有一个人孤零零地坐在这个位置。这种情况下臣民们也好处理,大家叩拜、谈论的时候只要提及皇帝,每个人都知道指的是谁,而不用在皇帝前面加上特定的称呼,如张皇帝、李皇帝。这一个过程反应到设计领域就是,要求一个类只能生成一个对象(皇帝), 阅读全文
posted @ 2015-08-01 23:04 SummerChill 阅读(394) 评论(0) 推荐(0) 编辑
摘要:开闭原则是Java世界里最基础的设计原则,它指导我们如何建立一个稳定的、灵活的系统,先来看开闭原则的定义: Software entities like classes,modules and functions should be open for extension but closed for 阅读全文
posted @ 2015-08-01 22:31 SummerChill 阅读(606) 评论(0) 推荐(0) 编辑
摘要:迪米特法则(Law of Demeter,LoD)也称为最少知识原则(Least KnowledgePrinciple,LKP),虽然名字不同,但描述的是同一个规则:一个对象应该对其他对象有最少的了解。通俗地讲,一个类应该对自己需要耦合或调用的类知道得最少,你(被耦合或调用的类)的内部是如何复杂都和 阅读全文
posted @ 2015-07-29 00:01 SummerChill 阅读(387) 评论(0) 推荐(0) 编辑
摘要:在讲接口隔离原则之前,先明确一下我们的主角——接口。接口分为两种: ● 实例接口(Object Interface),在Java中声明一个类,然后用new关键字产生一个实例,它是对一个类型的事物的描述,这是一种接口。比如你定义Person这个类,然后使用 Person zhangSan=new Pe 阅读全文
posted @ 2015-07-28 23:28 SummerChill 阅读(451) 评论(0) 推荐(0) 编辑
摘要:依赖倒置原则(Dependence Inversion Principle,DIP)这个名字看着有点别扭,“依赖”还“倒置”,这到底是什么意思?依赖倒置原则的原始定义是 High level modules should not depend upon low level modules.Both 阅读全文
posted @ 2015-07-28 16:05 SummerChill 阅读(288) 评论(0) 推荐(0) 编辑
摘要:在面向对象的语言中,继承是必不可少的、非常优秀的语言机制,它有如下优点:● 代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性;● 提高代码的重用性;● 子类可以形似父类,但又异于父类,“龙生龙,凤生凤,老鼠生来会打洞”是说子拥有父的“种”,“世界上没有两片完全相同的叶子”是指明子与父的不 阅读全文
posted @ 2015-07-09 10:26 SummerChill 阅读(671) 评论(0) 推荐(0) 编辑
摘要:单一职责原则的英文名称是Single Responsibility Principle,简称是SRP. 这个原则存在争议之处在哪里呢?就是对职责的定义,什么是类的职责,以及怎么划分类的职责。我们先举个例子来说明什么是单一职责原则。 只要做过项目,肯定要接触到用户、机构、角色管理这些模块,基本上使用的 阅读全文
posted @ 2015-07-09 10:25 SummerChill 阅读(1330) 评论(1) 推荐(0) 编辑
摘要:结构型模式:适配器模式:用来把一个接口转化成另一个接口。java.util.Arrays#asList()javax.swing.JTable(TableModel)java.io.InputStreamReader(InputStream)java.io.OutputStreamWriter(Ou... 阅读全文
posted @ 2015-03-07 21:04 SummerChill 阅读(255) 评论(0) 推荐(0) 编辑
摘要:1:单例模式(面试) 单例模式:单一的实例.保证类在内存中只有一个对象.举例: ①windows的打印费服务.网站的计数器.(如果一个网站统计访问量有多个计数器,就会有问题.)②Java中的应用:数据库连接池,Runtime这个类. 2.如何保证类在内存中只有一个对象? A:把构造方法私有,为了不让 阅读全文
posted @ 2014-11-10 01:18 SummerChill 阅读(296) 评论(0) 推荐(0) 编辑
摘要:工厂方法模式主要是对简单工厂模式的改良. 由于这个简单工厂模式中,工厂类负责的所有对象的创建,那么,当子类不断增多的时候,我们就需要去修改工厂的代码,这样呢,就违反了一个原则:开闭原则.(假如真的要创建一个cat,工厂是没有创建cat的功能的.现实情况可能真的有创建cat的需求的,所以这个时候就需要 阅读全文
posted @ 2014-11-09 12:57 SummerChill 阅读(231) 评论(0) 推荐(0) 编辑
摘要:我现在有一个动物的继承体系: Animal 所有的动物都要吃饭. |--Pig |--Dog 当创建对象比较简单的时候,我们就可以直接在main方法里面做了,但是,很多时候,创建对象可能还需要做一些初始化, 也就是说创建对象的操作会比较复杂,这个时候,如果所有对象的创建工作我们还是在main里面就不 阅读全文
posted @ 2014-11-09 00:13 SummerChill 阅读(192) 评论(0) 推荐(0) 编辑
摘要:•装饰模式又名包装(Wrapper)模式•装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案•装饰模式以对客户透明的方式动态的给一个对象附加上更多的责任。换言之,客户端并不会觉得对象在装饰前和装饰后有什么不同。•装饰模式可以在不创造更多子类的情况下,将对象的功能加以扩展。 •装饰模 阅读全文
posted @ 2014-10-03 20:30 SummerChill 阅读(266) 评论(0) 推荐(0) 编辑
摘要:•观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让他们能够自动更新自己. •观察者模式的组成–抽象主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者。 抽象主题提供一个接口 阅读全文
posted @ 2014-10-03 17:45 SummerChill 阅读(291) 评论(0) 推荐(0) 编辑
摘要:下面这个程序比较经典,现在忘了. 先保存下来. 阅读全文
posted @ 2014-10-03 17:22 SummerChill 阅读(291) 评论(0) 推荐(0) 编辑
摘要:•代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。•在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用 •代理模式一般涉及到的角色有–抽象角色:声明真实对象和代理对象的共同接口–代理角色:代理对象角色内部含有对真实对象的引用,从而 阅读全文
posted @ 2014-10-03 16:46 SummerChill 阅读(316) 评论(0) 推荐(0) 编辑
摘要:饿汉式单例模式: 懒汉式单例模式 华丽丽的分割线 阅读全文
posted @ 2014-10-03 16:42 SummerChill 阅读(267) 评论(0) 推荐(0) 编辑