gpt4 book ai didi

c# - 请推荐一个将asp.net网站迁移到三层架构的方案

转载 作者:行者123 更新时间:2023-11-30 18:03:57 24 4
gpt4 key购买 nike

我有一个我构建的 ASP.NET 网站,它的大小和复杂性都大大增加了。一开始我没有创建 DAL 或 BLL,因为我是个新手,觉得这对我来说更简单。相反,我使用了大量的 SqlDataSources,并将所有业务逻辑放在相关页面的代码隐藏中。这是一个学习项目。但随着时间的推移,我一直在稳步添加功能,同时网站的使用量显着增长。我现在发现自己有一些难以维护的东西。一定要进行一些重构。

我想做的是开始分离我的用户界面、业务逻辑和数据访问代码。我拿起了 Fowler 的一本书,并在网上阅读了足够多的内容,知道这是一件好事。我的问题是大多数示例和教程都假设读者是从头开始的。我需要制定一个计划来有条不紊地完成这项工作。我需要以一种能让我在工作中继续学习和培养技能的方式来做这件事。

所有这些都作为上下文,我的问题是如何将这个任务分解成一口大小的 block ?例如,我是否应该首先用一个新层替换所有这些 SQLDataSource 控件?或者,我应该从创建一些存储过程开始吗?或者我应该先迁移到 Linq。你现在可能明白了。我正在寻找的是一个答案,它规定了一系列我可以用作我的路线图的小增量步骤。谢谢!

最佳答案

我不会从 DAL 开始,您的代码可能不会以这种方式变得更清晰,但您必须实现整个 DAL 基础结构并将其与您的 asp.net 代码绑定(bind),需要大量工作。理想的方法是从单元测试开始,但我想如果您的代码组织不当,事情就不会那么容易了。

我会尝试先将业务逻辑提取到单独的层,这将要求您像从头开始构建一样思考。我敢打赌,这会让您想在此过程中进行更多重构。您可以先创建一个单独的类库项目,然后开始使用所需的所有数据访问代码提取逻辑。

当您的 UI 层除了表示逻辑之外没有其他任何东西时,就该重构您的新 BLL 了。为您的 DAL 选择正确的抽象(例如工作单元),这样您就可以轻松编写单元和集成测试。

然后写很多Test。然后您就可以真正开始重构您的代码了:)

关键是不要试图从一开始就立即执行太多的重构,只是移动代码以使一切更加清晰和分离。在这种情况下总是涉及一点点思维转变。

关于c# - 请推荐一个将asp.net网站迁移到三层架构的方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6688288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com