反模式笔记2

   1、 模式和反模式的模板
    模式语言(或模式分类)是一组相互关联的模式的集合。每种模式都采用一致的修辞结构——模式模板,使用这种修辞结构来表示对模式的说明具有很好的逻辑性。业界已经形成了很多通用的模板。
    2、 使用反模式的建议
    对软件项目的改进最好通过增量的方式进行,就如《重构》一书中所建议的那样子。反模式的意图是要建立对问题的警觉,使用反模式,你可以在机能不良的实践导致负面后果时清楚地看到问题,反模式给有害的实践赋以鲜明的名称和特点,让你可以迅速检测到它们的存在,然后避免或解决它们。
    对替代方法的了解是解决问题的关键之一。

   3、 编写新反模式
    (1)设计模式开始于一个多次出现的反感。设计模式通常是自底而上编写的;也就是说,设计模式开始于一个多次出现的反感,然后该模式的编写者会添加上下文本经和影响力量。用来说明这些北京和力量的文字经过了仔细的修改,以便引导你得到惟一的解决方案。
    (2)反模式开始于一个多次出现的问题。反模式是自顶而下编写的。在当前上下文环境中,该设计或实践通常具有显著的负面后果 ...  ...

    ————————软件开发性反模式——————————
    开发软件开发性反模式的关键目标是描述有用的软件重构形式。良好的软件架构对系统的扩充和维护是必要的。软件开发是一项无序的活动,因此系统实现结构往往会偏离通过架构、分析和设计而规划出的结构。

    A、 正规重构变化
    包括超类抽象、条件消除和聚合抽象。
 
    B、 开发性反模式摘要
    B.1: The Blob(胖球)一个对象承担了大量职责
    B.2:  Continus Obsolescence(持续过时):因开发人员难以跟上软件新版本的问题
    B.3:  Lava Flow(岩浆流)死代码和被遗忘的设计会被冻结在不断变化的设计中
    B.4:  Ambiguous Viewpoint(模糊视角),模型常常没有澄清该模型所表达的视角
    B.5:  Functional Decomposition(功能分解),
    B.6:  Poltergeist(恶作剧鬼),该反模式是指那些职责和有效生命周期都很有限的类。它们常常被用于启动其他对象的处理,重构方案中将这些责任重新分配给具有更长生命的对象来消除这些Poltergeist
 
   B.7:   Boat Anchor(船锚),指在当前项目中没有起到有益作用的那些软件或硬件
   B.8:   Golden Hammer(金锤),指把一种熟悉的技术或概念强迫性地应用于许多软件问题
   B.9:   Dead End(死胡同),对一个可复用构建进行修改后它不再受供应商的支持,那么对它的修改就会形成死胡同。
  B.10:   Spagehetti Code(面条代码),即兴生成的软件导致难以扩展和优化代码
  B.11:   Input Kludge(拼凑拼凑),未能通过直接行为测试的软件可能就是Input Kludge的例子
  B.12:    Walking through a Minefield(穿越雷区)

  B.13:    Cut-and-Paste Programming(剪贴编程):通过剪贴语句形成的代码复用会导致显著的维护问题
  B.14:    Mushroom Management(蘑菇管理),建立中间层
  
   

猜你喜欢

转载自sunshineyao.iteye.com/blog/668701