gpt4 book ai didi

c# - 架构/设计模式问题

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

昨天我和我的伙伴讨论了我正在开发的这个电子购物网站的架构。请注意,我为此使用 ASP.NET。他非常惊讶地发现我没有将添加到购物车的项目保留在 ArrayList 或其他通用列表中,而是使用 LINQ To Entities 将它们直接插入到数据库中。我可以只通过这个网络应用程序而不使用 n-tire 还是我应该按照我 friend 的建议去做,即有执行更新、删除等的方法。我非常感谢您的反馈,因为这对我来说是一个非常重要的困境。谢谢!

最佳答案

我认为这里有两件事需要考虑:

你能做的最糟糕的事情之一就是过度设计,并在不需要的时候创建一个 N 层系统。如果不需要数据访问层,就不要在其中添加一个。

找出您的系统的需求,如果您需要能够横向扩展,那么您将必须分层设计您的系统,并使用更具可扩展性的数据访问方法以及服务获取/更新您的数据。

第二,当用户将东西添加到购物车时,是否应该将这些东西放入数据库中。我认为这不一定是一个问题。访问数据库的成本很高,尤其是当您可以将它们存储在客户端/ session 端直到..

<小时/>话虽这么说,我个人喜欢使用数据访问层,我发现它使代码更清晰,并且使您可以标准化访问和更改数据的方式。不是每个类/方法都能够临时更改数据,而是必须通过 DAO 层中一组定义良好的接口(interface)来完成此操作,您可以控制、审计等。通过使用 DAO 层,它还有助于简化模拟,这在测试方面是无价的。

N-Teir 开发引用:

  1. First just understand what you are trying to accomplish!
  2. What is N-Teir Architecture
  3. Asp.net Tutorial
  4. MSDN on Application Design (From N-Tier to .NET)

关于c# - 架构/设计模式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5127153/

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