设计模式
javalive09
这个作者很懒,什么都没留下…
展开
-
UML(图形化的语言表示)
一些概念OO(Object-Orientation)面向对象,一种系统建模技术OOP(Object-OrientationProgramming)面向对象编程,按照OO的方法来开发程序的过程OOAD(Object-OrientationAnalysis and Design)面向对象的分析与设计UML图分类:静态模型(static model)用例图(use c原创 2012-05-31 12:06:42 · 1050 阅读 · 0 评论 -
Decorator(装饰器模式)
有什么用?原创 2014-04-06 21:54:42 · 745 阅读 · 0 评论 -
Singleton(单例模式)
保证一个类仅有一个实例。饱汉式饿汉式静态内部类式单例模式一般应用于系统级别的、资源管理者例如:JDK中的java.lang.Runtime的 getRuntime()JDK中的 java.lang.reflect.ProxyAndroid 的InputMethodManagerAndroid的BluetoothOppManager类图:原创 2012-05-31 12:12:31 · 546 阅读 · 0 评论 -
Adapter(适配器模式)
有什么用?原创 2014-04-06 21:18:32 · 708 阅读 · 0 评论 -
Static Factory(静态工厂、简单工厂)
产品是多样的、变化的,抽象产品。实例化一个对象之前有很多的前期和后期操作例如:JDK中的java包装类的valueOf();JDK中的java.text.DateFormat的getDateInstance();JDK中的java.util.Calendar的getInstance();Android中的PhoneFactory类图:原创 2012-05-31 12:15:17 · 823 阅读 · 0 评论 -
桥接模式
有什么用?一个对象有多维度变化,这些维度有组合的关系,避免生成大量的组合类。是什么?类型:结构型设计模式模型:需要改变形状和颜色的图形。结构:一个维度抽象类使用另一个维度抽象类。接口调用接口。类图:代码例子?应用例子?有形状和颜色两个维度变化的图形。原创 2015-01-17 11:46:02 · 616 阅读 · 0 评论 -
Factory Method(工厂方法)
产品、工厂都是变化的,两个都要抽象类图:原创 2012-05-31 12:16:29 · 613 阅读 · 0 评论 -
关于设计模式
OOD(面向对象设计)的原则(solid):单一职责原则(SingleResponsibility Principle):一个类,一个功能开放闭合原则(Open ClosedPrinciple):对修改关闭,堆扩展开发Liscov替换原则(Liscov Substitution Principle):子类功能不能退化接口隔离原则(Interface Segregation Prin原创 2012-05-31 12:09:18 · 539 阅读 · 0 评论 -
设计模式原则
设计模式原则设计模式原则的分享设计模式原则跟我们生活中的物理定律有点类似,有适用范围(比如在爱因斯坦的相对论中,物体的质量随着速度的增大而增大,但是低速时,可以认为不变),在适用范围内是可以重复,多次发生,每次都可以得到相同,相对稳定的结果。 原则应该有通用性,是一个抽象。在很多地方都可以用类似的东西去考虑(比如我们设计包的时候应该也会考虑到单一职责的问题)转载 2014-03-04 14:16:27 · 676 阅读 · 0 评论 -
访问者模式
有什么用?封装(用容器)一些施加于某种数据结构元素之上的操作,在不改变数据结构的前提下,修改元素操作。是什么?类型: 是一种行为型的设计模式模型:不同级别领导视察结构:结构对象角色元素角色访问者角色类图:代码例子?应用例子?原创 2015-01-17 15:40:39 · 584 阅读 · 0 评论 -
中介者模式
有什么用?一个功能的内部的各个模块有千丝万缕的联系。中介者用来解耦。是什么?是一种行为型的设计模式模型:内部通讯工具软件。结构:各个模块角色中介者角色类图:代码例子?应用例子?原创 2015-01-17 15:21:44 · 594 阅读 · 0 评论 -
解释器模式
有什么用?通过组合多种单元算法来解释问题。是什么?类型:行为型的设计模式模型:计算器结构:抽象表达式角色具体终结表达式具体非终结表达式类图:代码例子?应用例子?原创 2015-01-17 15:09:00 · 548 阅读 · 0 评论 -
什么是高内聚,低耦合
高内聚:一个功能模块的各个部分。原创 2014-05-01 18:38:02 · 1442 阅读 · 0 评论 -
用反射设计框架的好处?
1.如 MVC 中的controller 反射:用字符串作为参数来生成对象。如果类不存在,编译不出错。 工厂类:如果new 对象的类不存在,会编译出错。2.如 unitTest 中对象的控制 通过过滤class名字来控制对象。非常灵活。原创 2014-04-28 20:42:34 · 683 阅读 · 0 评论 -
Protoype(原型模式)
另外一种高效创建对象的方法浅Clone:JDK支持深Clone:序列化、反序列化序列化:本质是流(byte流),对象流不序列化static、transient 。序列化的目的是搬运对象。反序列化:不调用构造器类图:原创 2012-05-31 12:20:15 · 716 阅读 · 0 评论 -
Builder(建造者)
分步骤构建一个复杂对象,其中“分步骤”是一个固定的算法。复杂对象的各个“分步骤”部分经常变化,抽象的是建造者和“分步骤”一般由多零件组成的对象(各个零件组合算法不变)的创建会用此模式例如:JDK中的java.lang.StringBuilder的 append();类图:原创 2012-05-31 12:19:23 · 504 阅读 · 0 评论 -
Flyweight(享元模式)
有什么用?一共享的方式原创 2014-04-06 22:28:30 · 756 阅读 · 0 评论 -
Abstract Factory(抽象工厂)
产品(多类)、工厂都是变化的,两个都要抽象一般要生成多系列产品时会用此模式类图:原创 2012-05-31 12:18:08 · 585 阅读 · 0 评论 -
Composite(组合模式)
有什么用?原创 2014-04-06 21:30:27 · 675 阅读 · 0 评论 -
Proxy(代理模式)
有什么用?原创 2014-04-06 22:15:03 · 699 阅读 · 0 评论 -
State(状态模式)
有什么用?原创 2014-04-06 23:05:38 · 580 阅读 · 0 评论 -
Facade(门面模式)
有什么用?原创 2014-04-06 22:46:26 · 605 阅读 · 0 评论 -
Strategy(策略模式)
有原创 2014-04-06 23:16:38 · 535 阅读 · 0 评论 -
Observer(观察者)
有什么用?原创 2014-04-06 23:27:36 · 609 阅读 · 0 评论 -
Chain of Responsibility(责任链)
有什么用?原创 2014-04-06 23:37:03 · 633 阅读 · 0 评论 -
Command(命令模式)
有什么用?原创 2014-04-06 23:45:50 · 646 阅读 · 0 评论 -
Memento(备忘录模式)
有什么用?原创 2014-04-06 23:54:41 · 725 阅读 · 0 评论 -
Iterator(迭代子)
有什么用?原创 2014-04-07 00:01:10 · 715 阅读 · 0 评论 -
TemplateMethod(模版方法)
有什么用?原创 2014-04-07 00:12:58 · 628 阅读 · 0 评论 -
开发最佳实践及原则
开发最佳实践及原则工作方法单元测试,重构,迭代,积累分享关键议题,不拘小节 抓住关键议题just do it 马上去做,实践是检验真理的标准.别把时间浪费在无休止的争论和想像中.不做重复工作,充分利用已有的资源.在你打算写个功能或算法之前先google下工预善其事,必先利其器. 使用和掌握一些工具最大的提高工作效率转载 2014-03-04 14:18:54 · 935 阅读 · 0 评论