接口,组合和继承的想法
学习完设计模式也有近1个月时间,感觉总做练习用途不大,还需要多看源码才能体会。做练习只能够加深印象。
学习完设计模式后,很容易滥用接口,一个功能模块会写许多冗余的;不是必须的接口进行套用,最后回顾发现许多
无意义的代码;非常让人无语。
滥用接口
对于滥用接口的问题,得出一个结论就是,编写新模块时不要着急套用接口,先简单实现一下,有耦合不要紧,之后再重构,提炼接口。
如果不适合提炼接口,就不要强行提炼,否则后续问题不断。
组合与继承
各类书中一直阐述,组合优于继承,但最近组合也让我够呛,过多的组合仍然会导致复杂度难以控制,或许不应该
从设计模式模式里找解决方法吧,只需要把工具性的代码和业务性的代码分开就行。
最近看了控制反转,比如用Ninject直接把Ikernel当做参数传递就行,不过应该不是解决这些小问题用的,也可以权当学习一下。
关于继承
虽说提到继承就感觉不太好,但适当的使用并无坏处,在C#中有时候用一个抽象类向下继承就能代替1-2个接口,
从而做到代码简洁。