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

IBLL如何扩展。

2012-04-10 
IBLL怎么扩展。。。。。。。。。。。。。。比如有这样一个IUser :C# codepublic interface IUser {int Method1()int Met

IBLL怎么扩展。。。。。。。。。。。。。。
比如有这样一个
IUser :

C# code
    public interface IUser {        int Method1();        int Method1();        int Method1();        int Method1();        int Method1();    }


之后的User 也实现了他 工厂类又创建了 (IUser)User  

可是突然发现有个很重要的方法 void MainMethod() 忘了在IUser 里面定义

这个时候该怎么办 

重新定义个接口的方法 void MainMethod()???

因为工厂创建的是接口的对象。。直接在user里面添加方法 创建的(IUser)User 就访问不到 MainMethod() 这个方法了  

到底该怎么办嘛... 还是再定义一个新的接口...?

[解决办法]
工厂的目的是什么呢?如果汽车工厂出来的是马车,那么当然要重构了。至于说是把责任归咎于原来那个接口设计缺陷,还是归咎于应该使用新的接口,还是需要你自己定夺。一般来说,假设已经发布过针对前一个接口的产品,编程当然是希望前后一致保持框架知识的可靠性,那么就不应该把接口修改,而是应该定义新的接口。但是反之,编程当然希望类、接口越少越好,因此就不要定义新的接口,而是应该修改原来的接口。

热点排行