本站首页    管理页面    写新日志    退出


[java与模式读书笔记]多例(Multition)模式
sunshine 发表于 2006/6/7 21:59:28

多例模式中的多例类可以有多个实例,而且多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。 有上限多例类,无上限多例模式 有状态的和没有状态的多例类  

阅读全文(1475) | 回复(0) | 编辑 | 精华 | 删除

[java与模式读书笔记]单例模式(Singleton)
sunshine 发表于 2006/6/7 21:31:34

单例模式:一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。  单例模式的结构:饿汉式单例类,懒汉式单例类,登记式单例类 单例类的状态:有状态,无状态两种 Java语言中的单例模式:Runtime对象,Introspector类,Toolkit类。 不完全的单例类:有公开的构造子,违背了单例类只能有一个实例的特性。

阅读全文(1843) | 回复(1) | 编辑 | 精华 | 删除

[java与模式读书笔记]抽象工厂模式(Abstract Factory)
sunshine 发表于 2006/6/6 21:52:41

用意:可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,创建多个产品族中的产品对象。 工厂方法模式针对的是一个产品等级结构,而抽象工厂模式则需要面对多个产品等级结构。 产品族:位于不同产品等级结构中,功能相关联的产品组成的家族。 在什么情形下应当使用抽象工厂模式:一个系统不应当依赖于产品类实例如何被创建、组合和表达的细节;系统只消费其中某一族的产品;同属于同一个产品族的产品是在一起使用的;系统提供一个产品类的库,所以的产品以同样的接口出现。 增加新的产品族,遵守“开-闭”原则,增加新的产品等级结构,不遵守;  
阅读全文(2864) | 回复(0) | 编辑 | 精华 | 删除

[java与模式读书笔记]工厂方法模式
sunshine 发表于 2006/6/5 19:30:08

又叫多态性工厂模式,虚拟构造子模式。 用意:定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。工厂类变成了一个抽象工厂角色,仅负责给出具体工厂子类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节。 角色:抽象工厂角色;具体工厂角色;抽象产品角色;具体产品角色;
阅读全文(1569) | 回复(0) | 编辑 | 精华 | 删除

[java与模式读书笔记]简单工厂模式
sunshine 发表于 2006/6/5 19:16:40

又称静态工厂模式,由一个工厂对象创建出哪一种产品的实例。 简单工厂模式角色:工厂类角色,抽象产品角色,具体产品角色。 抽象产品角色的省略;工厂角色与抽象产品角色合并;三个角色全部合并; 简单工厂模式的优点:核心是工厂类,含有必要的判断逻辑,决定在什么时候创建哪一个产品类的实例,而客户端则可以免除趋势创建对象的责任。 缺点:集中了所有产品创建逻辑;进行功能扩展时较为困难;静态方法无法同子类断承。
阅读全文(1736) | 回复(0) | 编辑 | 精华 | 删除

[java与模式读书笔记]迪米特法则(Low of Demeter)
sunshine 发表于 2006/6/4 21:22:55

迪米特法则又叫做最少知识原则。就是说,一个对象应当对其他对象尽可能少的了解。 朋友圈的确定:当前对象本身;以参量形式传入到当前对象方法中的对象;当前对象的实例变量直接引用的对象;聚集中的元素也都是朋友;当前对象所创建的对象; 狭义的迪米特法则的缺点:会在系统里造出大量的小方法,散落在系统的各个角落。 迪米特法则与设计模式:门面模式、调停者模式; 广义迪米特法则在类的设计上的体现:优先考虑将一个类设置成不变类;尽量降低一个类的访问权限;谨慎使用Serializable;尽量降低成员的访问权限;
阅读全文(4151) | 回复(0) | 编辑 | 精华 | 删除

[java与模式读书笔记]合成/聚合复用原则(Composite/Aggregate Reuse Principle )
sunshine 发表于 2006/6/4 20:46:51

合成/聚合复用原则就是在一个新的对象时面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。 要尽量使用合成/聚合,尽量不要使用继承。合成是值的聚合,聚合则是引用的聚合。合成/聚合复用的好处:新对象存取成分对象的惟一方法是通过成分对象的接口;黑箱复用;支持包装;依赖性较少;可以将焦点集中在一个任务上;运行时间内动态进行。 通过继承达到复用的目的 继承复用的优点:新的实现较为容易;修改或扩展继承而来的实现较为容易。 继承复用的缺点:破坏包装;如果超类的实现发生改变,那么子类的实现也不得不发生改变;从超类继承而来的实现是静态的,不可以在运行时间内发生改变。  
阅读全文(2008) | 回复(0) | 编辑 | 精华 | 删除

[java与模式读书笔记]接口隔离原则(Interface Segregation Principle)
sunshine 发表于 2006/6/4 20:30:49

接口隔离原则:使用多个专门的接口比使用单一的总接口要好。 过于臃肿的接口是对接口的污染。 接口隔离原则讲的就是同一个角色提供宽、宽不同的接口,以对付不同的客户端。 与迪米特法则的关系:迪米特法则要求任何一个软件实体,除非绝对需要,不然不要与外界通信。即使必须进行通信,也应当尽量限制通信的广度和深度。显然,定制服务原则拒绝向客户端提供不需要提供的行为,是符合迪米特法则的。
阅读全文(1726) | 回复(0) | 编辑 | 精华 | 删除

[java与模式读书笔记]依赖倒转原则(Dependence Inversion)
sunshine 发表于 2006/6/4 19:55:21

依赖倒转原则:要依赖于抽象,不要依赖于具体。 三种耦合关系:零耦合、具体耦合(两个具体类)、抽象耦合(一个具体类和一个抽象类或接口)。 变量的静态类型和真实类型。变量被声明时的类型叫做变量的静态类型。变量所引用的对象的真实类型叫做变量的实际类型。如List employees=new Vector();employees变量的静态类型是List,实际类型是Vector. 怎样做到依赖倒转原则:工厂方法模式、模版方法模式、迭代子模式。    
阅读全文(1609) | 回复(0) | 编辑 | 精华 | 删除

[java与模式读书笔记]里氏代换原则(Liskov Substitution Principle)
sunshine 发表于 2006/6/3 17:50:55

一个软件实体如果使用的是一个基类的话,那么一守适用其子类,而且它要本不能察觉出基类对象与子类对象的区别。 比如,一个Base类,另一个Derived类,并且Derived类是Base类的子类。那么一个方法如果可以接受一个基类对象b的话:method1(Base b)那么它就可以接受一个子类对象d.反过来的代换不成立。 里氏代换原则在设计模式中的体现:策略模式,合成模式,代理模式
阅读全文(1740) | 回复(0) | 编辑 | 精华 | 删除
« 1 2 3 »

 
«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31

  公告

有一种鸟儿是永远关不住的
因为它的每片羽翼上都沾满了自由的光辉

方向:计算机视觉 人工智能 演化算法

 


  我的分类(专题)
  最近日志

  最新评论

  留言板

  链接

  Blog信息
blog名称:阳光海岸心
日志总数:166
评论数量:237
留言数量:-4
访问次数:1452380
建立时间:2006年6月2日



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.344 second(s), page refreshed 144773817 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号