首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

关于设计模式的一句话的含义

2012-03-13 
关于设计模式的一句话的含义 - 软件工程/管理 / 开发过程版我在C#设计模式中看到这样一句话,不甚理解:希望

关于设计模式的一句话的含义 - 软件工程/管理 / 开发过程版
我在C#设计模式中看到这样一句话,不甚理解:希望能有哪位朋友能给与解答。

在开发中,多采用封装,继承等来实现面向对象的设计,然而,以一个功能完善的类开始继承层次结构,可能会过多的限制住自己,也会给特定方法的实现带来累赘,
故此,设计模式中提出的一个原则是:针对接口编程,不是针对实现编程。

其中的一个功能完善的类开始继承层次结构,这句话是什么意思啊?
由于经验不足,有些不甚理解,希望那位朋友能给我一个详细点的解释,谢谢了!!!

[解决办法]
其意思就是, 功能由于过于完善, 各个函数之前的依赖性有可能比较强, 或者让你扩充的余地比较少, 那么就会让子类很难扩展功能
[解决办法]
软件工程的这几个版面都没多少人气,可能不够专题的缘故还是大家都是做着软件开发比较底层的工作所以提不出问题。呵呵,不知道。

楼主:
它的意思是说功能完善的类(就是指实现得比较充分的类),因为它的特点和行为都实现得比较充分,所以也就限制它的扩展或对原有的改变,所以才建议你尽量针对接口编程而少用继承来扩展。
[解决办法]
其中的一个功能完善的类开始继承层次结构,这句话是什么意思啊?

这句话的意思就是:从一个已经实现好的类(可能包含了大量的实现代码)来开始继承结构。
这样的好处是:你的类不用很多代码就能够具有这样的一些功能。
问题在于:1.可能会暴露过多的接口,因为已经实现好的类未必所有的接口你都要用到。
2.修改和维护困难,依赖于实现会造成你的类的扩展和维护困难。举个例子来说,假设你的基类(实现)修改了,一般来说,你的所有的派生类就得重新编译一次,而从接口派生就可以有效避免这个问题。
3.不利于抽象,一开始就想到实现当然不利于抽象了。
其他的还有很多,希望大家多多补充阿...
[解决办法]
在开发中,多采用封装,继承等来实现面向对象的设计,然而,以一个功能完善的类开始继承层次结构,可能会过多的限制住自己,也会给特定方法的实现带来累赘,
故此,设计模式中提出的一个原则是:针对接口编程,不是针对实现编程。


我认为是这样的:我们可以这样想,对比接口与继承的优势,接口其实更适合继承(implement),否则只用到单纯的超类思想很限制程序的思想。

热点排行