zoukankan      html  css  js  c++  java
  • 工厂模式

    http://blog.csdn.net/xhf55555/article/details/7609272

    为了重构机房收费系统,快速的回顾了UML建模和大话设计模式。

    我认为三者的共同点都是解耦,为了让我们的系统变得容易维护、可扩展、可复用、灵活性好。

    不同点是抽象层次不同。

    简单工厂模式是我们最初从面向对象到面向过程的转变,我们开始总是把所有的逻辑代码都写到客户端,到客户端与逻辑业务的分离。

    工厂方法模式是我们在简单工厂模式的基础上再次进行抽象,为了扩展的方便和修改封闭,把一些对功能的判断不在放到一个类中,而是抽象出操作的工厂接口,各个工厂再去实现这个接口,变得更为固定,就像是机械般的。逻辑判断是在客户端通过实例化哪个具体的工厂来代替了简单工厂中工厂类中的switch逻辑判断。

    抽象工厂和工厂方法大致相同,不同就是一簇,是一系列的产品操作。

    还有策略模式和简单工厂相比较,都有抽象的功能接口,和具体的功能类,不同的我们的需求不同,客户端的要求不同,也就是业务需求变化不同。简单工厂要识别功能的接口和工厂类,策略模式要识别功能类和上下文类,通过context类接收一个对象再实例化自己。而简单工厂工厂类只是实例化一个类,而具体的调用还是要这个类本身来调用。

    设计模式的这些模式的原则,就是从设计模式的六大原则角度出发,单一职责原则、开放封闭原则、依赖倒转原则、里氏替换原则、合成/聚合复用原则、迪米特法则,最终达到可维护、可扩展、可复用、灵活性好的系统。

    简单工厂模式。

    工厂方法设计模式。

    抽象工厂设计模式。

    策略模式。

  • 相关阅读:
    Path Sum II
    Convert Sorted Array to Binary Search Tree
    Construct Binary Tree from Inorder and Postorder Traversal
    Construct Binary Tree from Preorder and Inorder Traversal
    Maximum Depth of Binary Tree
    Binary Tree Zigzag Level Order Traversal
    Binary Tree Level Order Traversal
    Same Tree
    Validate Binary Search Tree
    Binary Tree Inorder Traversal
  • 原文地址:https://www.cnblogs.com/manmanlu/p/5614786.html
Copyright © 2011-2022 走看看