使用部分类而不是Facade模式本身就是反模式吗?

Pai*_*mes 3 c# facade partial-classes

几年前,我被告知要在单独的.cs文件中实现业务逻辑代码,尽管这些文件包含了相同的分部类.所以可以从业务层调用一个方法,如下所示:

using(FooPartialDisposableClass partialClassInstance = new FooPartialDisposableClass ())
partialClassInstance.BusinessMethod();
Run Code Online (Sandbox Code Playgroud)

好.所以现在,我正在做同样的事情,这次我正在使用Facade模式.这个解决方案似乎是一种更好的方法,即使你必须编写更多的代码并且它的可维护性更低.

那么,我的问题是......按照部分类方法是否正确?

PS:我还想到了接口和依赖注入,以便将这一层与将要使用这些业务逻辑方法的层分离,但是考虑到这里的工作方式,这是一个禁忌:S

Tig*_*ran 7

Partial classes不是OOP设计特色.它们只是"代码布局"的东西,不能替代任何代码设计.

它只是代码布局/分发,如果你愿意,功能.

Facade设计不同于DI,如果您认为该Facade模式最符合您的项目需求,请继续.

如果类的文件变得太大,或者您有不同的团队成员可能想要对其中的不同部分进行更改,请使用部分类Facade.在这种情况下,在不同文件之间分配文件(基于团队中的责任分配),以便更轻松地管理代码并尽可能避免冲突.