当前位置: 代码迷 >> .NET分析设计 >> IBLL如何扩展。
  详细解决方案

IBLL如何扩展。

热度:7428   发布时间:2013-02-25 00:00:00.0
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() 这个方法了  

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

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