zoukankan      html  css  js  c++  java
  • 怎样使用设计模式

    (本文摘自《设计模式-可复用面向对象软件的基础》)
    一旦你选择了一个设计模式,你怎么使用它呢?这里给出一个有效应用设计模式的循序渐进的方法。

    1. 大致浏览一遍模式。特别注意其适用性部分和效果部分,确定它适合你的问题。
    2. 回头研究结构部分、参与者部分和协作部分。确保你理解这个模式的类和对象以及它们是怎样关联的。
    3. 看代码示例部分,看看这个模式代码形式的具体例子。研究代码将有助于你实现模式。
    4. 选择模式参与者的名字,使它们在应用上下文中有意义。设计模式参与者的名字通常过于抽象而不会直接出现在应用中。然而,将参与者的名字和应用中出现的名字合并起来是很有用的。这会帮助你在实现中更显式的体现出模式来。例如,如果你在文本组合算法中使用了strategy模式,那么你可能有名为SimpleLayoutStrategy或TeXLayoutStrategy这样的类。
    5. 定义类。生命它们的接口,建立它们的继承关系,定义代表数据和对象引用的实例变量。识别模式会影响到的你的应用中存在的类,做出相应的修改。
    6. 定义模式中专用于应用的操作。这里再一次体现出,名字一般依赖于应用。使用与每一个操作相关联的责任和写作作为指导。还有,你的名字约定要一致。例如,可以使用“Create”前缀同意标记Factory方法。
    7. 实现执行模式中责任和写作的操作。实现部分提供线索指导你进行实现。代码示例部分的例子也能提供帮助。
      这些只对你一开始使用模式起指导作用。以后你会有自己的设计模式使用方法。
      关于设计模式,如果不提一下它们的使用限制,那么关于怎样使用它们的讨论就是不完整的。设计模式不能够随意使用。通常你通过引入额外的间接层次获得灵活性和可变性的同时,你也使设计变得更复杂并/或牺牲了一定的性能。一个设计模式只有当它提供的灵活性是真正需要的时候,才有必要使用。当衡量一个模式的得失时,它的效果部分是最能提供帮助的,如表1-2所示。
      这里写图片描述
  • 相关阅读:
    springCloud学习总览
    leetcode Q46.把数字翻译成字符串
    手把手教你用redis实现一个简单的mq消息队列(java)
    主流排序算法全面解析
    从零开始react实战:云书签(总览)
    从零开始react实战:云书签-1 react环境搭建
    springboot整合elasticsearch7.2(基于官方high level client)
    你知道如何在小程序中推送模板消息?
    最新ubuntu搭建公网个人邮件服务器(基于postfix,dovecot,mysql)
    手把手docker部署java应用(初级篇)
  • 原文地址:https://www.cnblogs.com/huahai/p/7270912.html
Copyright © 2011-2022 走看看