c# - .net开发代码结构-Controllers, Services, Repositories & Contexts

标签 c# .net asp.net asp.net-mvc namespaces

作为一名新开发人员,我对使用最佳实践开发 C# 代码的命名和结构约定感到非常困惑。

我很欣赏它可能适用于我正在开发的每个领域,但我看过许多不同的开源项目的代码并且似乎有一个共同的主题。成功的项目具有经过深思熟虑的维护和可扩展性结构。

术语上下文、服务、存储库和 Controller 经常使用,我想知道这些术语是否可以解释,或者是否就这些术语的使用内容、位置或方式达成共识或约定。

在电子商务平台中,我看到有订单服务、订单上下文、客户存储库和产品 Controller 等。他们应该根据这些名字做什么? Controller 会做一些与服务不同的事情吗?什么时候应该使用上下文?命名空间有约定吗?当您尝试从一个用勺子喂养的新手开发人员那里插入并尝试继续前进时,这令人难以置信。

我真正应该关注哪些软件/工具来开发高质量的代码?单元测试、持续集成、Resharper、模拟工具、DOI 容器、nHibernate。

我真的不知道有哪些博客/书籍可以帮助我从一名熟练的 Web 开发人员发展成为可以开发可扩展、高质量和可测试代码的人。作者的假设存在很大差距。您要么是新手,要么是软件架构师。

我想从初级开发人员的身份转变为成为软件架构师的长期目标。我知道这都是关于模式和实践的,但是培训 Material 在哪里?我自己工作,所以没有向他人学习的机会。

谢谢

最佳答案

我认为您的答案没有完美的解决方案。我自己也糊涂了。但是根据我在工作和学校的经验,我制定了自己的规则。也许会为您提供有关您所问内容的线索。

我假设您已经了解 MVC 设计模式。模型即将处理您的业务逻辑和数据库的地方。 View 是您希望在屏幕上看到的内容。 Controller 负责响应用户的请求并决定应该加载哪个 View 和模型。

我通常通过创建一些文件夹(命名空间)来组织我的模型来实现它。这是我的模型:

  • Repository:只会做查询, 插入、更新和删除单个 表(接口(interface)和实现)。
  • 服务:组合 基于存储库的表,做 登录和注销,以及其他一些 与数据库访问无关。
  • 类:是声明的对象。
  • Utils:从 Repository 重定向的静态函数,可以被 View 调用。

也许你可以分享你的!!

关于c# - .net开发代码结构-Controllers, Services, Repositories & Contexts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4417680/

相关文章:

c# - c# 中的 char[] 数组等价物

c# - 如何在 asp :Repeater? 中改变我的 ItemTemplate

c# - PrintTicket 提供程序无法绑定(bind)到打印机。 Win32错误: The printer name is invalid

c# - PKCS11证书

.net - 为什么 COM 互操作优先于 .NET 中的 P/Invoke?

asp.net - 通过 asp.net Identity 获取所有用户和所有角色

javascript - 如何在ASP.NET中动态添加数据库数据到Jquery控件?

c# MySQL 阅读器不阅读

.net - PayPal:付款金额为 'Value too long (max length 10)'

javascript - 使用 KendoUI 饼图,如何删除空白区域?