我正面临着一项艰巨的任务,开始重构我们最大的asp.net网站,它是从asp classic创建的,然后移植到asp.net VS2003,然后移植到asp.net VS2005上。在代码过时的地方,所有的业务逻辑和数据访问都可以在.aspx.cs文件中找到。好消息是,它工作得很好。
现在我的问题是,有没有关于如何重构asp.net代码的指导原则?例如:-我需要为重构代码创建一个单独的类,还是应该为重构代码的新文件使用app_code?-重构代码结构。等。
发布于 2010-02-01 14:06:35
显然,您希望创建某种类型的数据访问层,您可以将其构建为单独的项目。
因此,将所有数据访问ADO代码从隐藏文件的代码中提取出来,并引用数据访问层。
你可以随意使用App_Code,但不要过度使用。在App_Code中放置太多的类会减慢构建时间。
任何通用/实用类,也可以随意放入自己的类库项目中。
这应该会让你开始学习。
发布于 2010-02-01 14:07:01
我建议您首先将业务逻辑提取到单独的类中-不要担心它们的类是如何命名的,或者是否另一种结构可能不更好。只要把它做好,经常测试以确保你没有弄坏任何东西。稍后,您可以决定逻辑实际上应该在哪些类中,并可以重构它以将其放在那里。
我建议这样做的主要原因之一是,一旦分离了业务逻辑,您就可以更容易地针对该逻辑创建一组全面的单元测试。您希望在开始重构之前准备好单元测试,以清理结构。只要单元测试成功,您就可以确定您的重构没有破坏任何东西。
这将为您(和您的管理层)创建单独的数据访问层等工作提供所需的信心。
发布于 2010-02-03 03:22:37
作为第一步,我建议您最小化代码隐藏文件中的代码。这些类应该具有检索用户输入、验证、与其他类交互以及提供输出所需的最少代码。所有真正的工作都应该在其他地方完成。
您可以创建一个业务层(一个单独的类库)来包含所有实际代码,您的前端将与这些代码交互并委托给它们。此时,您可以尝试添加一些集成测试,以确保业务层中的组件按预期工作。
在集成测试就绪后,进行一些重构以确保分离关注点,并遵循单一责任原则。在这一点上,添加单元测试应该不难。
如果你有数据访问代码,你肯定想把它从你的代码背后去掉。数据库处理至少应该在业务层中完成,或者更好的是,特定于数据库的代码应该独立在单独的层中,并通过业务层使用。
https://stackoverflow.com/questions/2174933
复制相似问题