不同开发人员之间的OOP方法之间的混淆

时间:2014-01-03 16:06:23

标签: c# class oop

我从过去1年开始使用.net和c#开发网络应用程序,但在我的脑海中对OOP主体的实现存在一些困惑。

1)我从面向对象的书中学到的是每个类都应该有其特定的方法,但是当我遇到高级开发人员的代码时,我看到开发人员创建了一个带有业务层的单独业务层包含所有类的所有方法的类。

使用包含我们应用程序中使用的所有方法的单独业务类的方法是否可以通过任何设计模式或任何其他资源来证明,或者它只是一个糟糕的设计?

请详细说明你的答案,因为这也可以帮助其他新手......

2 个答案:

答案 0 :(得分:1)

建筑是一门艺术,而不是一门科学。有良好的体系结构和糟糕的体系结构,但没有一个正确的体系结构。

例如,您的高级开发人员可能在更复杂的数据访问层之上创建了Facade(设计模式),以简化数据访问。例如,您可以有十几个实体来订购产品,并且您希望为订购产品时所需的一切创建外观。

只要看看架构并尝试分析自己,如果你认为它会更好。您知道的架构越多,您的判断就越好,但架构很少是黑白的。

另外,仅仅因为某人是高级人员,并不一定意味着他们知道自己在做什么或不会犯错误。

此外,继承可以在EF中完成: Inheritance in EF

答案 1 :(得分:0)

没有单一的架构可以遵循,例如在严格构建SOA系统时,拥有仅仅是数据的模型类是非常常见的,没有任何方法。而所有业务逻辑类都存在于不同的命名空间中。此外,当您通过网络发送域类时,通常会在专用于SOA的不同程序集中为此目的创建专用类。

我上面描述的架构直接来自VS的Microsoft架构指南包。