1
1
把类本身看作设备。这里的主要好处是能够重用一次编写的代码—例如,您的所有设备都有地址,它们可以连接、测试连接、断开连接—为什么不在一个抽象的“设备”类中使用这些代码,并使所有设备从中继承?
现在,由于接口拥有与之接口的设备的知识,它必须在其构造函数中包含这些设备(在面向对象设计中,也称为依赖项注入,更具体地说,这里是构造函数注入):
基本上,如果你的设备在“现实生活”中相互作用,那就意味着它们应该有一个相互连接的设备的引用。例如,如果您将PowerSupply直接插入到logger,那么PowerSupply类应该有对logger的引用。但是,如果它连接到接口,然后再连接到记录器,那么电源必须只引用接口而不是记录器(因为它没有连接到它)。
当你掌握了这一点,你的程序将真正受益于某种控制反转(IoC)模式——这样你就可以在一开始就定义什么是记录器,什么是电源,谁是显示器,什么时候有人需要某个特定的设备,IoC容器就会提供它。这样你就不必每次城里有新设备的时候都重写代码——只要用IoC容器注册新类型,一切就都正常了。 |
2
1
|
3
1
一种方法是创建一个复合类,其中包含powersupply类和GPIB类的实例(对于C#很抱歉):
|
Karl · 如何引发PrintPage的事件? 2 年前 |
Daniel · LINQ从列表的dataTable中提取部分匹配 2 年前 |
limelatte · 如何在datagridview中屏蔽特定列? 2 年前 |
Orsi · 选择嵌套列表的最大值和最小值。网 2 年前 |
D T · 如何为Excel Com设置公式? 2 年前 |
Lenin · 将数组中的每个元素与另一个数组中的相应元素相乘 2 年前 |