我有一个问题似乎无法在任何地方得到解答。这是关于将代码与接口分离的问题。问题是 - 是否应将其他对象(正在创建和使用)中的所有对象重构为接口,以遵循S.O.L.I.D.的依赖性反转原则?那么在偶数驱动方法中新建对象怎么样?我按下按钮时调用的方法。是否应该传递对象,比如说构造函数?当然这一切都适用于我的对象而不是BCL吗?
答案 0 :(得分: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
作者声称你无法消除所有耦合,但你可以对其进行转换,并且耦合应该转移到更简单的类。也许您可以将其作为您工作的指南。