zoukankan      html  css  js  c++  java
  • ABP实战--项目结构

    学习完毕With ASP.NET Core & Entity Framework Core Part-1Part-2后,只实现了基本的功能,使用该工程继续学习ABP的更多功能。

    更改项目结构##

    由项目的解决方案类图可知项目的引用顺序:

    更改项目文件的显示名,以清晰结构

    各层定义##

    1-Core###

    领域层,存放数据库的Model以及单Model的一些操作。部分基础架构的内容也可以放这里,如mail发送等。

    2.1-EntityFrameworkCore###

    EFCore层,用于DbContext的构造以及数据库结构的更新

    2.2-Application###

    应用层,处理具体的业务逻辑。

    3-Web###

    Web展现层,这里即UI层

    3-Tests###

    Application测试层

    4-Web.Tests###

    Web测试层

    初始化##

    每个层中都有自己的Module,ABP是模块化的,通过这些Module实现了各层之间的依赖以及初始化。其依赖关系与层的依赖关系相同。

    在Web层的Startup.cs类中将CeciWebModule注册为了ABP的TStartupModule,该Module以及其依赖的Module都会随之被调用

    而在CeciWebModule中会依赖CeciApplicationModuleCeciEntityFrameworkCoreModuleCeciApplicationModule又会依赖CeciCoreModule

    所以系统中的Module的初始化顺序为:

    • CoreModulePreInitialize()
    • ApplicationModulePreInitialize()
    • EFCoreModulePreInitialize()
    • WebModulePreInitialize()
    • CoreModuleInitialize()
    • ApplicationModuleInitialize()
    • EFCoreModuleInitialize()
    • WebModuleInitialize()

    同理,Test层也是如此
    在Tests层的CeciTestBase中:

    在Web.Tests层的Startup中:

  • 相关阅读:
    if判断语句和循环语句
    列表,元祖,字典的详细概述
    day10
    day09
    day08
    java---基本程序设计总结
    day07
    day06
    day05
    day04
  • 原文地址:https://www.cnblogs.com/ceci/p/9236115.html
Copyright © 2011-2022 走看看