我有一个问题,我似乎无法在任何地方得到回答。这是关于将您的代码与接口解耦。问题是——是否应该将其他对象(正在创建和使用)中的所有对象重构为接口以遵循 SOLID 的依赖倒置原则?在均匀驱动的方法中新建对象怎么样?例如。当我按下按钮时调用的方法。对象是否应该通过构造函数传入?当然,这一切都适用于我的对象,而不适用于 BCL 对吧?
问问题
208 次
1 回答
5
毫驼给出了很好的答案。它特别好,因为它是任何编程问题的正确答案:)
我想详细说明一下。在处理这样的场景时,以下条件成立:
- 解耦需要付出自己的代价。
- 没有代码是完美的,因为您可能不会有所有的时间来处理它。
- 如果你的代码比它可能的耦合度更高,这不是世界末日。
因此,不要以全有或全无的命题来看待它,而应将其视为分数。你愿意忍受多少耦合?你愿意为脱钩付出多少?在某些时候,设计时间和感知的可维护性之间存在平衡——请记住,您甚至不知道您的代码将如何更改。
您是否听说过《基于事件的编程:将事件发挥到极致》一书?这都是关于耦合: http: //books.google.com/books ?id=9CL446IzhuAC&pg=PR21&dq=taking+events+to+the+limit&hl=en&sa=X&ei=bcfLUMzRMcWLqgHi-oHoBw&ved=0CDUQ6wEwAA
作者声称你不能消除所有的耦合,但你可以转换它,耦合应该转移到更简单的类。也许你可以用它作为你努力的指南。
于 2012-12-15T00:45:03.907 回答