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

文件的单一接口原则解决方法

2012-02-21 
文件的单一接口原则http://blog.csdn.net/houhu_cs/archive/2010/04/25/5526516.aspx这是我昨晚睡觉的时候

文件的单一接口原则
http://blog.csdn.net/houhu_cs/archive/2010/04/25/5526516.aspx
这是我昨晚睡觉的时候总结的,只是我单方面的想法,不知道大家有没有什么更好的建议或者想法。

[解决办法]
看一下...
[解决办法]
支持原创
[解决办法]
look and look
[解决办法]
在Delphi中要实现楼主的“原则”是很困难的,主要原因是Delphi没有真正意义上的友元,相互联系的各类如果分散到不同文件,就没法访问对方的私有成员了,如果把某些私有成员改为保护成员又可能不符合封装原则。
[解决办法]
学习下。
[解决办法]
首先我觉得楼主没理解清解耦的意思吧,把两个类从一个单元变成两个单元,这就叫解耦了?

解耦主要是谈及类结构间的问题的,即使一堆类放在一个单元里,结构也可以是很松散的。

我觉得单元划分主要是代码管理上的问题,除非当涉及到分接口包和实现包的时候,单元划分才会涉及到解耦的问题。但这时的解耦就不是楼上各位说的类的解耦了,是整个软件的模块解耦了。

另外我觉得楼主最后举的例子也有点不恰当,在DELPHI里,没用到的代码是不会被编译进程序的,所以你完全没必要担心因为引用了F,没用B,却因为B而让程序体积增大。
[解决办法]
我发现我根本看不懂,悲哀了。。。
[解决办法]

探讨
首先我觉得楼主没理解清解耦的意思吧,把两个类从一个单元变成两个单元,这就叫解耦了?

解耦主要是谈及类结构间的问题的,即使一堆类放在一个单元里,结构也可以是很松散的。

我觉得单元划分主要是代码管理上的问题,除非当涉及到分接口包和实现包的时候,单元划分才会涉及到解耦的问题。但这时的解耦就不是楼上各位说的类的解耦了,是整个软件的模块解耦了。

另外我觉得楼主最后举的例子也有点不恰当,在D……

[解决办法]
探讨
是这么个道理,一堆类放在一个单元里结构可以是松耦合的。
但对于其他引用这个文件的人来说,这个文件就相当于是封装了的,完全不知道是否耦合了。要么我就去读他的源码,要么我就不得不引用整个文件。
我提议单一接口不是说一个接口放一个类,而是对外看来有且仅有一种职责,只有一个对外接口。不是不这样做文件内部就不耦合,只是说这样做能使结构更为清晰,有助于程序结构的解耦。
还有一个问题就是:如果B中用到了F2文件,那为了把F文件加载进来能编译通过,我还要把F2加载进来。

[解决办法]
探讨
我还有一个问题想请教一下。
DELPHI的是不是和C++ 一样没有修改过的文件就不会再次编译成dcu,仅仅编译修改过的文件啊?如果是这样的话,那我修改B的话,得重新编译整个F文件。

[解决办法]
探讨
关于编译优化,好像是一个类,只要一个方法被使用了,其它所有的方法也会被编译进来的

[解决办法]
耦合主要是减少函数之间的耦合,其次是类之间的耦合,文件没有必要考虑太多。

热点排行