English 中文(简体)
C# ASP.NET 补充准则
原标题:C# ASP.NET Refactoring Codes | How To/ Guidelines

我正面临着一项艰巨的任务,即开始重新评价我们最大的星网,该网是从古典版创建的,然后被赶到p.net VS2003,然后在2005年被装入正本网。 如果代码是旧的,所有业务逻辑和计划;数据查阅均在.aspx.cs文档中找到。 这是一件好事,它正在A-Ok工作。

Now my question is, is there any guidelines on how to refactor asp.net code behind? Such as: - do I need to create a separate class for the refactor codes or should I use the app_code for the new files for the refactor codes? - refactor code structure.. etc.

最佳回答

很显然,你希望建立某种数据获取层,作为单独的项目,你可以建立这种数据库。

因此,所有数据查阅(ADO)代码都从档案中删除,并参考数据检索层。

感觉自由使用App_Code,但不再使用。 在应用中设置太多的班级会减缓你的建筑时间。

任何普通/超常班级都感到可以自由进入自己的班级图书馆项目。

这应该让你们开始。

问题回答

我建议你首先将业务逻辑带入单独的班级,而不是担心如何标明这些班级,或者另一个结构是否更好。 只有这样做,经常进行检测,以确保你打碎任何东西。 以后,你可以决定逻辑究竟应该是什么类别,并能够加以调整,以使之得以实现。

我提出这一点的一个主要原因是,一旦商业逻辑分离,你就能够更方便地针对这一逻辑建立一套全面的单位测试。 你希望在你开始重新确定结构之前进行单位测试。 只要单位测试成功,你就会确信,你的证明是没有打破任何东西的。

这将使你(和你的管理层)相信,做像建立一个单独的数据存取层这样的事情。

我建议,作为第一步,你将你在密码后面的文件中的守则降至最低限度。 这些部门应当拥有检索用户投入、验证、与其他类别互动并提供产出所需的最低代码。 所有真正的工作都应在其他地方完成。

你可以建立一个商业层面(一个单独的班级图书馆),以包含所有真正的法典,你的前端将与这些法典互动并委托给它们。 此时此刻,你可以尝试增加一些一体化测试,以确保商业层面工作的各个组成部分如预期。

随着一体化测试的进行,为确保分开关注和遵循单一责任原则做了一些调整。 在这一点上,不应难以增加单位测试。

如果你有数据存取代码,你肯定会希望在你的代码中说明这一点。 数据库的操作至少应在您的商务层面进行,或者更适合特定数据库的代码应单独放在一个层面,并通过商业层面加以使用。





相关问题
Anyone feel like passing it forward?

I m the only developer in my company, and am getting along well as an autodidact, but I know I m missing out on the education one gets from working with and having code reviewed by more senior devs. ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Transaction handling with TransactionScope

I am implementing Transaction using TransactionScope with the help this MSDN article http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx I just want to confirm that is ...

System.Web.Mvc.Controller Initialize

i have the following base controller... public class BaseController : Controller { protected override void Initialize(System.Web.Routing.RequestContext requestContext) { if (...

Microsoft.Contracts namespace

For what it is necessary Microsoft.Contracts namespace in asp.net? I mean, in what cases I could write using Microsoft.Contracts;?

Separator line in ASP.NET

I d like to add a simple separator line in an aspx web form. Does anyone know how? It sounds easy enough, but still I can t manage to find how to do it.. 10x!

热门标签