自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序人生

追求-无止境!

  • 博客(10)
  • 收藏
  • 关注

原创 Bridge桥接(结构型模式)

抽象与实现抽象不应该依赖于实现细节,实现细节应该依赖于抽象。 动机:事实上由于Tank类型的固有逻辑,使得Tank类型具有了两个变化的维度——一个变化的维度为“平台的变化”,一个变化的维度为“型号的变化”。如何应对这种“多维度的变化”?如何利用面向对象技术来使得Tank类型可以轻松地沿着“平台”和“型号”两个方向变化,而不引入额外的复杂度?意图:将抽象部分与实现部分分离

2007-03-23 09:30:00 969

原创 Adapter适配器(结构型模式)

适配(转换)的概念无处不在……适配,即在不改变原有实现的基础上,将原先不兼容的接口转换为兼容的接口。(即编写一个具有所需要的接口的类,然后让它和拥有不同接口的类进行通信) 动机:在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满

2007-03-21 17:06:00 767

转载 学习ORACLE的建议

1.建立明确的目标  目标一定要明确,我当时第一个目标就是一个月时间内读完ocp教程,目标定了,那么接下来的学习就有了目标,不至于今天学点这个,明天学点那个。2.制定详尽的计划  目标定好以后就是实现目标的过程,每个过程必须有详尽的计划,严格按照计划进行,比如我的计划就是每天读100页文档,不管什么理由都要完成,读的时候有很多不理解,或者绝大部分不理解的情况,但是还是要坚持读完,理解不深刻或完全不

2007-03-21 16:52:00 808

原创 有关创建性模式的讨论

l         Singleton模式解决的是实体对象个数的问题。除了Singleton之外,其他创建型模式解决的都是new所带来的耦合关系。l         Factory Method,Abstract Factory,Builder都需要一个额外的工厂类来负责实例化“易变对象”,而Prototype则是通过原型(一个特殊的工厂类)来克隆“易变对象”。l         如果遇到

2007-03-21 11:59:00 691

原创 Prototype原型(创建型模式)

依赖关系的倒置抽象不应该依赖于实现细节,实现细节应该依赖于抽象。动机:在软件系统中,经常面临着“某些结构复杂的对象”的创建工作;由于需要的变化,这些对象经常面临剧烈的变化,但是他们却拥有比较稳定一致的接口。如何应对这种变化?如何向“客户程序 (使用这些对象的程序) ”隔离出“这些易变对象”,从而使得“依赖这些易变对象的客户程序”不随着需求改变而改变?意图:使用原型实例指定创

2007-03-21 11:57:00 838

原创 Factory Method工厂方法(创建型模式)

从耦合关系谈起耦合关系直接决定着软件面对变化时的行为l         模块与模块之间的紧耦合使得软件面对变化时,相关的模块都要随之更改。l         模块与模块之间的松耦合使得软件面对变化时,一些模块更容易被替换或者更改,但其他模块保持不变。 动机:在软件系统中,经常面临着“某个对象”的创建工作;由于需求的变化,这个对象经常面临着剧烈的变化,但是它却拥有比较稳定的接

2007-03-21 10:02:00 783

原创 Builder生成器(创建型模式)

l         假设创建游戏中的一个房屋House设施,该房屋的构建由几个部分组成,且各个部分要富于变化。l         如果使用最直观的设计方法,每一个房屋部分的变化,都将导致房屋构建的重新修正…… 动机:在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组

2007-03-20 16:49:00 776

原创 Abstract Factory抽象工厂(创建型模式)

new的问题常规的对象创建方法://创建一个Road对象Road road = new Road(); new的问题:实现依赖,不能应对“具体实例化类型”的变化。解决思路:封装变化点——哪里变化,封装哪里。潜台词:如果没有变化,当然不需要额外的封装! 工厂模式的缘起l         变化点在“对象创建”,因此就封装“对象创建”;l     

2007-03-20 12:00:00 703

原创 Singleton单件(创建型模式)

动机:在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。意图:可以保证一个类有且只有一个实例,并提供一个访问它的全局访问点。单线程Singleton模式的几个要点l         Singleton模式中的实例构造器可以设置为protected以允许子类派生。l         Singleton模式一般不要支

2007-03-19 17:35:00 857

转载 模式分类

从目的来看:创建型(Creational)模式:负责对象创建。结构型(Structural)模式:处理类与对象间的组合。行为型(Behavioral)模式:类与对象交互中的职责分配。从范围来看:类模式处理类与子类的静态关系。对象模式处理对象间的动态关系。 

2007-03-19 16:04:00 749

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除