抛开设计模式,软件设计的微思考

xiaoxiao2021-02-28  70

设计模式首先是要解决问题的。

没有问题,就不要去设计什么模式出来。

 

具体问题具体分析。例如,在一个继承层次中追加一些新方法。

该怎么办?

 

问题要提出,不然不要轻易去设计:

 

1.有没有重用性的组件提取出来?

2.有没有可重用的接口?

3.有没有特殊性?

 

经过这么分析之后,发现我新追加的代码除了函数和函数参数之外,实现上几乎没有任何重用的可能性。这个时候该怎么办呢?

第一。既然接口可以重用,那就把这些方法用一个接口来表示。

interface IAXX{

     fA();

     gA();

}

第二。实现不可重用,意味着提取出来造成没必要的类的。【这就是传说中的类爆炸?】

所以必须这样弄:

 

interface IABXX extends IAXX, IBXX{

     fA();

     gA()

     fB()

     gB(); 

}

 

第三。在客户端,如果是IBXX类型的对象mB。那么判断一下mB是否也实现了接口IABXX ,如果实现了。

则调用

     fA();

     gA()

这俩函数。 

 

 

转载请注明原文地址: https://www.6miu.com/read-77287.html

最新回复(0)