这是一个假设情景。假设你刚刚被一个拥有小型开发团队的公司聘用。该公司使用.NET 2.0编写的内部CRM/ERP类型系统来管理所有日常事务(让我们简化并说客户帐户和记录)。该应用程序是一个几年前写的时候.NET 2.0刚刚走出并使用以下建筑设计:重构ASP.NET 2.0应用程序以使其更“现代”
- Web表单
- 数据层是各地的SqlCommand瘦包装调用存储过程
- 简陋的DTO其经由存储过程填充充当网络表单和数据库之间的网关
- A“业务逻辑”层式的业务对象(即后面的代码调用层)
让我们说,随着应用程序中添加更多更改和要求,您开始感觉到旧的架构正在显示其年代,并且变化越来越难以实现。你将如何引入重构步骤到A)使应用程序现代化(即正确分离关注点)和B)确保应用程序能够随时适应组织中的变化?
IMO的变化将涉及:
- 介绍像的LINQ的ORM to SQL和摆脱存储过程的CRUD的
- 假设你不能只是抛出Web表单,介绍了MVP模式表格
- 确保网关类符合SRP和其他SOLID原则。
- 变化是重新使用具有重用代码
你有什么想法的是Web服务的方法,而不是逻辑?这又是一个完全假设的情景,我们许多人在过去面对或可能最终面临。
完全不是我的假设。 – egrunin 2010-04-16 14:26:55
我处于类似的情况。为了我的利益,“变化越来越难以做出”是什么? – Greg 2010-04-16 14:41:29
LinqToSql需要.NET 3.5,因此假设您正在进行.NET Framework升级是安全的吗?如果是这样,.NET 4.0是一个选项吗? – 2010-04-16 14:43:50