zoukankan      html  css  js  c++  java
  • Continuous Design

    Continuous Design

    https://www.martinfowler.com/ieeeSoftware/continuousDesign.pdf

    T
    he
    rising popularity of refactoring, tools
    such as JUnit, and agile methodologies
    such as Extreme Programming (XP) has
    brought a new style of design into view.
    Continuous design
    is the process of us-
    ing refactoring to continuously improve
    a program’s design. Initially a skeptic, I’ve been
    experimenting with continuous design for four

    years, and it’s changed the way I program

    Design Goals in Continuous Design
    Continuous design makes change easy by focusing on these design goals:
    DRY (Don’t Repeat Yourself):
    There’s little duplication.
    Explicit:
    Code clearly states its purpose, usually without needing comments.
    Simple:
    Specific approaches are preferred over generic ones. Design pat-
    terns support features, not extensibility.
    Cohesive:
    Related code and concepts are grouped together.
    Decoupled:
    Unrelated code and concepts can be changed independently.
    Isolated:
    Third-party code is isolated behind a single interface.
    Present-day:
    The design doesn’t try to predict future features.
    No hooks:
    Interfaces, factory methods, events, and other extensibility “hooks”

    are left out unless they meet a current need

    Cohesive

    内聚 -- 相关的代码和逻辑,放在一起。 不要离散存放。

    Isolated & Decoupled

    去耦合 -- 将无关和不必要的粘连,切除掉。目标为更加内聚。

    隔离 -- 将不同内聚的模块, 切分清楚, 将模块之间的接口描述清楚。

  • 相关阅读:
    CSRF漏洞详细说明
    跨域的另一种解决方案——CORS(Cross-Origin Resource Sharing)跨域资源共享
    使用 X-Frame-Options 防止被iframe 造成跨域iframe 提交挂掉
    html manifest 离线配置
    Xcode更新至IOS 9 后错误处理
    Web App时代的缓存机制新思路
    HTML5时代的Web缓存机制
    如何构建可缓存站点
    Web浏览器的缓存机制
    Web缓存的作用与类型
  • 原文地址:https://www.cnblogs.com/lightsong/p/8605760.html
Copyright © 2011-2022 走看看