【发布时间】:2010-10-05 00:10:45
【问题描述】:
我很感激人们对我自 ASP.NET 出现以来一直在苦苦挣扎的困境提出的想法。
在经典 ASP 中,代码层很少。 ASP 页面包含 HTML 和脚本组合。 COM 组件包含业务逻辑和DAO 基础设施。 ASP 页面本身很乱,但一切都在一个地方。
ASP.NET 的代码隐藏整理了代码,这很好。这些控件允许我们在表示层上更加面向对象。这些东西很好。
这是我的问题。我参与的许多项目都是企业 Web 应用程序,但并不是那么复杂,比如 10 个左右的网页/用户界面、大量的数据库交互等。这些过去理解起来是小菜一碟。现在我经常会遇到 5 到 10 层代码来创建一个相当简单的网页。这些可能包括 ASP、代码隐藏、控件类、DTO 类、ORM 对象,然后还有一些其他的东西。
除了访问数据库的 5-10 层之外,还有许多仅为存储普通数据而创建的自定义对象,而不是像集合那样使用 POCO(普通的旧 CLR 对象)。要理解这些对象,通常必须追溯包括 3 级或更多级别的对象和接口的继承层次结构。
这里是关键:以前,我查看 1 个 ASP 页面并说 1 或 2 个小对象,一些 SQL 查询,这些都完成了工作并且维护和理解相当简单。
现在,对于同一个页面,实际上可能有 50 个或更多对象,分布在自定义命名空间中的数百个对象中。
请问各位代码工匠,这是进步吗?是不是有些人对他们的滑稽有趣的新设计图案玩具有点过火了?有快乐的媒介吗? 有没有一种方法可以有效地使用设计模式,而不会创建太多的对象,以至于它变得比旧的程序范式更糟糕的意大利面条代码?
请分享你的想法。
【问题讨论】:
-
主观和论证。
-
不管这是否属于 SO,我认为这是一个很好的问题,也是我也在努力解决的问题。也许它更适合programmers.stackexchange?
标签: .net asp.net oop design-patterns