<分区>
从过去 1 年开始,我一直在使用 .net 和 c# 开发 Web 应用程序,但我对 OOP 原则的实现有些困惑。
1)我从面向对象的书上学到的是每个类都应该有它特定的方法,但是当我看到一个高级开发人员的代码时,我看到开发人员已经创建了一个单独的业务层和一个业务层包含所有类的所有方法的类。
这种使用包含我们应用中使用的所有方法的单独业务类的方法是否符合任何设计模式或任何其他资源,或者它只是一个糟糕的设计?
请详细说明您的答案,因为这也可以帮助那里的其他新手...
<分区>
从过去 1 年开始,我一直在使用 .net 和 c# 开发 Web 应用程序,但我对 OOP 原则的实现有些困惑。
1)我从面向对象的书上学到的是每个类都应该有它特定的方法,但是当我看到一个高级开发人员的代码时,我看到开发人员已经创建了一个单独的业务层和一个业务层包含所有类的所有方法的类。
这种使用包含我们应用中使用的所有方法的单独业务类的方法是否符合任何设计模式或任何其他资源,或者它只是一个糟糕的设计?
请详细说明您的答案,因为这也可以帮助那里的其他新手...
最佳答案
建筑是一门艺术而非科学。有好的架构和坏的架构,但没有一个正确的架构。
例如,您的高级开发人员可能已经在更复杂的数据访问层之上创建了 Facade(设计模式)以简化数据访问。例如,您可能有十几个用于订购产品的实体,并且您想为订购产品时需要做的所有事情创建一个外观。
只要看看架构,如果您认为它可以更好,请尝试分析自己。您了解的架构越多,您的判断力就会越好,但架构很少是非黑即白的。
此外,仅仅因为某人年长并不一定意味着他们知道自己在做什么或他们不会犯错误。
此外,继承可以在 EF 中完成: Inheritance in EF
关于c# - 不同开发人员之间的 OOP 方法之间的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20907827/
相关文章:
c# - 如何使用 EMDK 2.6 关闭/重启移动设备 (Win CE 6.0)?
php - 创建一个 PHP 类 -> 在另一个类中创建它的对象
jquery - 使用tinyMCE.execCommand ('mceRemoveControl', false, "textarea_id"),Tinymce 和 j 为空;
php - 区别 static::class vs get_called_class() 和 __CLASS__ vs get_class() vs self::class