《程序员修炼之道-从小工到专家》读后感(五)
弯曲,或曲折
1.解耦与得墨忒耳法则
函数的得墨忒耳法则试图使任何给定程序中的模块之间的耦合减至最少,写代码的时候要使模块间的耦合减至最低,限制他们之间的交互。
2.元程序设计
要配置,不要集成。
元数据使你的代码具有适用性和灵活性性
将抽象放进代码,细节放进元数据。好处:
1)它迫使你解除你的设计的耦合,从而带来更灵活、可适应性更好的程序。
2)它迫使你通过推迟细节处理,创建更健壮更抽象的设计一完全推迟到程序之外。
3)无需重新编译应用,你就可以对其进行定制你还可以利用这一层面的定制,轻松地绕开正在运行的产品系统中的重大bug。
4)与通用的编程语言的情况相比,可以通过一种大为接近问题领域的方式表示元数据。
5)你甚至还可以用相同的应用引擎—一但是用不同的元数据——实现若干不同的项目。
3.时间耦合
时间有两个方面:并发和次序。
我们需要容许并发,并考虑解除任何时间或次序上的依赖。
分析工作流,以改善并发性。可以通过UML活动图,或者通过构建架构,使系统中的每一个实体都是一个独立实体,与其他组件一起并发运行。对时间解耦的优势使它更易于编写。
对并发进行设计,对静态或全局变量加以保护,设计更简洁的接口。
灵活地处理应用的部署方式。
4.他只是试图
编程需要"分而治之".
使视图与模型分离
耦合仍然存在
5,黑板
把字迹写在墙上
用黑板协调工作流