- 博客(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关注的人