记得《冒号课堂》里面讲过设计模式常用于弥补语言的不足。看到一篇文章,也是这个意思。
http://blog.plover.com/prog/design-patterns.html
记得《冒号课堂》里面讲过设计模式常用于弥补语言的不足。看到一篇文章,也是这个意思。
http://blog.plover.com/prog/design-patterns.html
嗯,该文的中心就是:Patterns are signs of weakness in programming languages。
记得书中曾经提到过OOP的一个缺点是必须持有对象的引用才能向其发送消息,书中以职责链模式对其进行了说明。最近,我们的项目打算引入Message Bus,我觉得Message Bus模式也解决OOP这一缺陷的。有了Message Bus对象间的交互更加容易,降低了直接耦合。不过,在解决问题的同时也引入了新的问题,比如:异步处理的复杂和可靠性问题,通用消息的类型安全问题。
松耦合虽好,但通常以简单性/可靠性/安全性/性能等为代价,这是indirection增加的结果。有得必有失,乃天下至理。至于如何权衡得失利弊,这就要看设计者的智慧了。
You must log in to post.