read the pragmatic programmer -- chapter5

第五章:弯曲或折断

tip26:解耦与得墨忒耳法则--把代码组织成最小的组织单位,即耦合减小至最小。对象间的横贯关系可能带来组合爆炸。我们可以利用得墨忒耳法则来设计我们的方法和函数。它总是设法阻止我们为了获得对第三个对象的方法的访问而进入某个对象。该法则规定了某个对象的任何方法只能调用属于以下情形的方法:
1.这个对象自己拥有的方法
2.传入该方法的参数的方法
3.它创建的任何对象的方法
4.该对象直接持有的对象的方法

tip27:元程序设计--元数据是关于数据的数据,是对任何应用进行描述的数据,为了让我们的程序有高度的适应性,我们应该把抽象放进代码,把细节放进元数据。

tip28:时间耦合--软件中的时间是事件的相对位置,比如方法a必须在方法b之前调用,这样的方法不切实际,我们应该解决任何时间或者次序上的依赖:工作流分析、架构、设计、还有部署。
1.工作流分析:通过分析,改善并发性。
2.架构:为并发进行设计,在编写线性代码时,我们很容易做出一些假定,把我们引入不整洁的编程,但并发迫使我们更仔细的对事情进行思考。首先,我们必须对任何全局或者静态变量加以保护,使其避免并发访问,不管调用的次序是什么,我们都要让其有一致的状态输出。假如有一个窗口子系统,其中的widget是先创建,然后再显示到屏幕上,这是我们代码的设置,一旦有人直接调用了显示在屏幕上,将会出错。其次,更佳整洁的接口需要为并发而做出设计。

tip29:它只是视图--我们把程序划分成了不同的模块,我们的新问题就出来,我们用什么方式去管理这些模块的逻辑依赖,这些模块如何去交互。
1.发布/订阅机制:
2.mvc

tip30:黑板--黑板是一种元组空间,黑板系统让我们完全解除了我们的对象之间的依赖,并提供了一个”论坛”,每个对象都与黑板进行单独的交互,异步的交换数据,黑板方式消除了对大多接口的需要,从而能带来更优雅更一致的系统。我们用黑板来协调工作流,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值