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

本文探讨了如何通过设计模式解决实际编程问题,特别是针对代码复用性和接口定义的问题。提出了具体的步骤来评估现有代码并确定何时引入新的设计模式,包括考虑接口重用、组件提取以及特殊性需求。

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

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

 

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

该怎么办?

 

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

 

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

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

3.有没有特殊性?

 

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

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

interface IAXX{

     fA();

     gA();

}

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

所以必须这样弄:

 

interface IABXX extends IAXX, IBXX{

     fA();

     gA()

     fB()

     gB(); 

}

 

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

则调用

     fA();

     gA()

这俩函数。 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值