上一页 1 2 3 4 5 6 7 8 ··· 11 下一页

2012年7月20日

桥接模式(Bridge Pattern)

摘要: 模式动机:设想如果要绘制矩形、圆形、椭圆、正方形,我们至少需要4个形状类,但是如果绘制的图形需要具有不同的颜色,如红色、绿色、蓝色等,此时至少有如下两种设计方案:1、第一种设计方案是为每一种形状都提供一套各种颜色的版本。2、第二种设计方案是根据实际需要对形状和颜色进行组合。对于有两个变化维度(即两个变化的原因)的系统,采用方案二来进行设计系统中类的个数更少,且系统扩展更为方便。设计方案二即是桥接模式的应用。桥接模式将继承关系转换为关联关系,从而降低了类与类之间的耦合,减少了代码编写量。模式意图:桥接模式(BridgePattern):将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一 阅读全文

posted @ 2012-07-20 20:46 IT@民工 阅读(194) 评论(0) 推荐(0) 编辑

2012年7月19日

适配器模式(Adapter pattern)

摘要: 适配器模式(Adapter pattern)我们已经结束创建型模式讲解,接下来开始结构型模式讲解。结构型模式概述:结构型模式(Structural Pattern)描述如何将类或者对象结合在一起形成更大的结构,就像搭积木,可以通过简单积木的组合形成复杂的、功能更为强大的结构。根据这一点,结构型模式可以分为类结构型模式和对象结构型模式:1、类结构型模式关心类的组合,由多个类可以组合成一个更大的系统,在类结构型模式中一般只存在继承关系和实现关系。2、对象结构型模式关心类与对象的组合,通过关联关系使得在一个类中定义另一个类的实例对象,然后通过该对象调用其方法。根据“合成复用原则”,在系统中尽量使用关 阅读全文

posted @ 2012-07-19 12:14 IT@民工 阅读(310) 评论(0) 推荐(0) 编辑

2012年7月18日

单例模式(Singleton pattern)

摘要: 动机:对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。如何保证一个类只有一个实例并且这个实例易于被访问呢?定义一个全局变量可以确保对象随时都可以被访问,但不能防止我们实例化多个对象。一个更好的解决办法是让类自身负责保存它的唯一实例。这个类可以保证没有其他实例被创建,并且它可以提供一个访问该实例的方法。这就是单例模式的模式动机。意图:单例模式(SingletonPattern):单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个 阅读全文

posted @ 2012-07-18 11:17 IT@民工 阅读(224) 评论(0) 推荐(0) 编辑

2012年7月17日

原型模式(Prototype Pattern)

摘要: 动机:有些对象的创建过程较为复杂,而且有时候需要频繁创建,原型模式通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。这就是原型模式的动机。意图:原型模式(Prototype Pattern):它是一种对象创建型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式允许一个对象再创建另外一个可定制的对象,无需知道任何创建的细节。UML图:带原型管理器的原型模式:角色:•Prototype:抽象原型角色,定义一个原型的抽象定义,其中包含一个复制自身的接口。•ConcretePrototype1:具体原型角色,作为原型被复制的 阅读全文

posted @ 2012-07-17 15:38 IT@民工 阅读(144) 评论(0) 推荐(0) 编辑

java中equals和==的区别

摘要: 值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。1、==操作比较的是两个变量的值是否相等(值类型),对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。2、equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。 (Object类例外,看源码)说明:==比较的是2个对象的地址,而equals比较的是2个对象的内容。显然,当equals为true时,==不一定为true;情况一:基本类型对于基本类型(boolean,char,byte,short,int,long,float,do 阅读全文

posted @ 2012-07-17 11:10 IT@民工 阅读(203) 评论(0) 推荐(0) 编辑

如何在Eclipse中查看JDK类库的源代码

摘要: 核心提示:在Eclipse中查看JDK类库的源代码!!! 设置: 1.点 window- Preferences - Java - Installed JRES 2.此时Installed JRES右边是列表窗格,列出了系统中的 JRE 环境,选择你的JRE,然后点边上的 Edit..., 会出现一个窗口(Edit JRE) 3.选中rt.jar文件的这一项在Eclipse中查看JDK类库的源代码!!! 设置: 1.点 “window”-> "Preferences" -> "Java" -> "Installed JRES& 阅读全文

posted @ 2012-07-17 10:44 IT@民工 阅读(149) 评论(0) 推荐(0) 编辑

2012年7月16日

建造者模式(Builder pattern)

摘要: 动机:在某些情况下,一个对象会有一些重要的属性,在它们没有恰当的值之前,对象不能作为一个完整的产品使用。比如,一个电子邮件有发件人地址、收件人地址、主题、内容、附录等部分,而在最起码的收件人地址未被赋值之前,这个电子邮件不能发出。在某些情况下,一个对象的一些属性必须按照某个顺序赋值才有意义。在某个属性没有赋值之前,另一个属性则无法赋值。此时,对象相当于一个有待建造的产品,而对象的属性相当于产品的零件,建造产品的过程就是组合零件的过程。由于组合零件的过程很复杂,因此,这些“零件”的组合过程往往被“外部化”到一个称作建造者的对象里,建造者返还给客户端的是一个全部零件都建造完毕的产品对象。意图:建造 阅读全文

posted @ 2012-07-16 10:15 IT@民工 阅读(153) 评论(0) 推荐(0) 编辑

2012年6月21日

简单工厂模式(Simple Factory Pattern)

摘要: 意图:•专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. •(Simple Factory)模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常他根据自变量的不同返回不同类的实例.•简单工厂模式实质是由一个工厂类根据传入的参量,动态的决定应该创建出哪一个产品类的实例. •简单工厂模式实际上不属于23个GOF模式,但他可以作为工厂方法模式(Factory Method)的一个引导. UML图:该模式中包含的角色及其职责: 工厂(SimpleFactory)角色 简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类... 阅读全文

posted @ 2012-06-21 17:13 IT@民工 阅读(248) 评论(0) 推荐(0) 编辑

UML中关系图解

摘要: 转载网址:http://blog.csdn.net/duran1986/article/details/5573415最近在教软件工程项目实践,就又仔细了解了下UML中各种关系的意义,虽然有点简单,但是有些概念还是经常被混淆的,写在这里是为了加深印象。关系列表:继承关系(Generalization);实现关系(Realization);依赖关系(Dependency);关联关系(Association);有方向的关联(DirectedAssociation);聚合关系(Aggregation);组合关系(Composition);继承关系(Generalization):Class B继承与 阅读全文

posted @ 2012-06-21 10:09 IT@民工 阅读(185) 评论(0) 推荐(0) 编辑

2012年5月22日

面向对象设计6大原则(二)

摘要: OOD基本上有6大原则,而实际上都是互补的,也就是说一些原则需要利用另一些原则来实现自己。6大原则如下:1)Open-ClosePrinciple(OCP),开-闭原则,讲的是设计要对扩展有好的支持,而对修改要严格限制。这是最重要也是最为抽象的原则,基本上我们所说的ReusableSoftware既是基于此原则而开发的。其他的原则也是对它的实现提供了路径。2)LiskovSubstituitionPrinciple(LSP),里氏代换原则,很严格的原则,规则是“子类必须能够替换基类,否则不应当设计为其子类。”也就是说,子类只能去扩展基类,而不是隐藏或覆盖基类,如有这方面需要的设计就应当参考以下 阅读全文

posted @ 2012-05-22 10:55 IT@民工 阅读(161) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 ··· 11 下一页

导航