|
1
9
六羟甲基三聚氰胺六甲醚。。。似乎更适合 Adapter .
似乎有很多代码,但它会使客户机代码更接近您想要的代码。此外,它还可以让您有机会考虑实际使用的界面。 |
|
|
2
5
退房 Visitor 模式。这使您可以在不更改类的情况下向类中添加虚拟方法。如果正在使用的基类没有访问方法,则需要将扩展方法与动态强制转换一起使用。下面是一些示例代码:
|
|
|
3
0
我想说,这里的标准方法是将要“继承”的类包装为受保护的实例变量,然后在容器类中模拟包装类的所有非私有成员(方法/属性/事件等)。然后,您可以将这个类及其适当的成员标记为虚拟的,这样您就可以使用它的标准多态特性。
这是我的意思的一个例子。
如果您所引用的程序集设计得很好,那么您可能希望访问的所有类型/成员都将被适当地标记(抽象、虚拟、密封),但实际上并非如此(有时您甚至可以在基类库中遇到此问题)。在我看来,包装类是这里的方法。它确实有它的好处(即使当您想要从中派生的类
是
可继承),即删除/更改不希望类用户访问的方法的修饰符。这个
|
|
|
4
0
看看 Decorator 模式。诺尔多林没有说出模式的名字就解释了这一点。 decorator是在不继承的情况下扩展行为的方法。在noldorin的代码中,我唯一要改变的是,构造函数应该接收到您正在修饰的对象的一个实例。 |
|
|
5
-1
Extension methods 提供一种向现有类添加其他方法签名的简单方法。这需要3.5框架。 创建一个静态实用程序类并添加如下内容:
在页面上添加对实用程序类的引用,此方法将显示为类A的成员。您可以通过这种方式重载现有方法或创建新方法。 |