zoukankan      html  css  js  c++  java
  • 《程序员修炼之道:从小工到专家》读后感(5)

    第五章:弯曲,或折断

    1.解耦与得墨忒耳法则

    函数的得墨忒耳法则试图使任何给定程序中的模块之间的耦合减至最少,它设法阻止了你为了获得第三个对象的方法的访问而进入某个对象,写代码的时候要使模块间的耦合减至最低,避免了牵一发而动全身的可能性。我们应该跟多的考虑如何怎样进行设计,使系统中的事物保持逻辑上的解耦。使用该法则可以我们的代码适应性更好。可以使用委托来使服从墨忒耳法则更容易。

    2.元程序设计

    让我们的系统变得高度可配置。要配置,不要集成。

    元数据使关于数据的数据,是对应用进行描述的数据。

    要用元数据描述应用的配置选项:调谐参数,用户偏好,安装目录等。元数据不仅能用来配置简单的偏好,也要尽可能多的通过元数据配置和驱动应用。

    将抽象放进代码,细节放进元数据。这句没有很理解。

    这种方法有若干好处:1)它迫使你解除你的设计的耦合,从而带来更灵活、可适应性更好的程序。
    2)它迫使你通过推迟细节处理,创建更健壮更抽象的设计一完全推迟到程序之外。
    3)无需重新编译应用,你就可以对其进行定制你还可以利用这一层面的定制,轻松地绕开正在运行的产品系统中的重大bug。
    4)与通用的编程语言的情况相比,可以通过一种大为接近问题领域的方式表示元数据。
    5)你甚至还可以用相同的应用引擎—一但是用不同的元数据——实现若干不同的项目。

    建议以纯文本的方式配置元数据,读取该配置可以编写能在运行时重新加载其配置的程序。

    要提高程序的适应性,否则会被淘汰的。

    3.时间耦合

    时间有两个方面对我们非常重要:并发和次序。我们需要容许并发,并考虑解除任何时间或次序上的依赖。

    分析工作流,以改善并发性。可以通过UML活动图,或者通过构建架构,使系统中的每一个实体都是一个独立实体,与其他组件一起并发运行。对时间解耦的优势使它更易于编写。

    对并发进行设计,对静态或全局变量加以保护,设计更简洁的接口。

    灵活地处理应用的部署方式。

    未完待续........(*╹▽╹*)

  • 相关阅读:
    C# 16进制字节转Int(涉及:Base64转byte数组)
    c# CRC-16 / MODBUS 校验计算方法 及 异或校验算法
    SqlSugar 用法大全
    SQL Server-聚焦NOLOCK、UPDLOCK、HOLDLOCK、READPAST你弄懂多少?
    使用 tabindex 配合 focus-within 巧妙实现父选择器
    DataX 3.0 源码解析一
    Golang必备技巧:接口型函数
    PID控制
    dockerfile,拷贝文件夹到镜像中(不是拷贝文件夹中的内容到镜像)
    什么是PKI?主要作用是什么?
  • 原文地址:https://www.cnblogs.com/ywqtro/p/11952963.html
Copyright © 2011-2022 走看看