ASP.NET – 如何有效地使用设计模式而不需要过度工程!
|
从ASP.NET出来以来,我一直在努力奋斗,我会感到人们对这个困境的想法。 在经典的ASP中,代码层是最小的。 ASP页面包含HTML和脚本组合。 COM组件包含业务逻辑和DAO基础设施。 ASP页面本身是凌乱的,但一切都在一个地方。 ASP.NET的代码隐藏了代码,没关系。控件允许我们在表示层上更加面向对象。这些东西都不错 这是我的问题我进入的许多项目是企业Web应用程序,但不是那么复杂,所以说10个左右的网页/用户界面,大量的数据库交互等等。这些以前是一块蛋糕要理解。现在我经常会遇到5到10层代码来创建一个相当简单的网页。这些可能包括ASP,代码隐藏,控制类,DTO类,ORM对象,然后还有其他一些刚刚投入到它的地狱。 除了到达数据库的5-10层之外,还有许多创建用于存储普通数据的自定义对象,而不是像例如集合那样使用POCO(普通的老CLR对象)。为了理解这些对象,通常需要追溯包括3个或更多级别的对象和接口的继承性搜索。 这是关键:以前,我看了一个ASP页面,并且说了1到2个小对象,一些SQL查询,这些工作已经完成,并且维护和理解相当简单。 现在,对于同一页面,可能会有50个对象或更多的对象,在自定义命名空间中传播数百个对象。 我问你,代码工匠,这是进步吗?有些人有点笨拙地用自己喜欢的新设计模式玩具吗?有快乐的媒介吗?有没有办法有效地使用设计模式,而不会创建这么多的对象,它变得比旧的程序范例变得更糟的意大利面条代码? 请分享你的想法。 解决方法放弃组织需要这些抽象层次的可能性(不太可能,但它确实发生),开发人员(特别是在非敏捷的企业/企业环境中)增加太多的抽象层面是非常普遍的。它发生在经典的ASP,.NET只是使它更容易。我们这个职业中的大多数人都有一种自然的过度复杂的趋势,要克服这个问题。此外,许多平庸的开发人员错误地认为,最大限度地提高抽象层次和模式使用,使他们成为更好的开发人员。 最后,许多平庸的开发人员被教导他们应该使用层次,抽象和模式,但没有被教导得很好,不知道如何,何时或为什么。所以他们进入一个项目思考“好吧,我知道我应该在这里有一些层次”,你可以想象出来的是什么。 最终,最佳做法的“最佳实践”是尽可能简单地编码UNTIL,您遇到一个阻碍您前进的真正问题。很多时候,你应该有一个模式或最佳实践在你的工具箱是正确的任务,就像你有一个坚果的正确扳手。最好的做法和模式是工具 – 你不会出现一个锤子,开始摆动,直到你有一个需要捣毁的指甲。同样的软件开发。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 什么是在asp.net中301重定向更推荐的方法?
- 为什么我的iSeries / ASP.NET MVC 4应用程序中没有重复使用
- asp.net – 如何在Gridview中绑定DropDownList,而不是从gri
- Asp.net复选框和html数据属性
- asp.net – 异步HttpWebRequest,从Web应用程序中无需等待
- asp.net – UpdatePanel中的动态创建控件?
- asp.net-mvc – ASP.net MVC 3教程推荐
- asp.net – 基于web.config的url重写的绝对最小内容是什么?
- 无法启动ASP.NET Development服务器,因为正在使用端口“190
- ASP.NET DataGrid和自定义分页
- asp.net-mvc – 控制器操作无法从JSON读取Guid P
- asp.net-mvc – 如何用asp.net mvc 3和ListBoxFo
- asp.net-mvc – 持久化jqGrid列首选项
- asp.net-mvc – 即使使用静态机器密钥,HttpAntiF
- asp.net-mvc – Html.BeginForm()和ajax.beginfo
- ASP.NET页面方法vs Web服务
- asp.net-mvc – ViewModel有自己的逻辑吗?
- asp.net – scriptresource.axd 404错误在asp ne
- asp.net-core – 如何忽略MVC6中的路由
- asp.net-mvc – 如何从ASP.NET MVC中的JSONResul
