NLayer Architecture in abp
https://aspnetboilerplate.com/Pages/Documents/NLayer-Architecture
Introduction
The layering of an application's codebase is a widely accepted technique to help reduce complexity and to improve code reusability. To achieve a layered architecture, ASP.NET Boilerplate follows the principles of Domain Driven Design.
Domain Driven Design Layers
There are four fundamental layers in Domain Driven Design (DDD):
- Presentation Layer: Provides an interface to the user. Uses the Application Layer to achieve user interactions.
- Application Layer: Mediates between the Presentation and Domain Layers. Orchestrates business objects to perform specific application tasks.
- Domain Layer: Includes business objects and their rules. This is the heart of the application.
- Infrastructure Layer: Provides generic technical capabilities that support higher layers mostly using 3rd-party libraries.
https://abp.io/documents/abp/latest/Domain-Driven-Design
What is DDD?
ABP framework provides an infrastructure to make DDD based development easier to implement.
DDD is defined in the Wikipedia as below:
Domain-driven design (DDD) is an approach to software development for complex needs by connecting the implementation to an evolving model. The premise of domain-driven design is the following:
- Placing the project's primary focus on the core domain and domain logic;
- Basing complex designs on a model of the domain;
- Initiating a creative collaboration between technical and domain experts to iteratively refine a conceptual model that addresses particular domain problems.
Layers
ABP follows DDD principles and patterns to achieve a layered application model which consists of four fundamental layers:
- Presentation Layer: Provides an interface to the user. Uses the Application Layer to achieve user interactions.
- Application Layer: Mediates between the Presentation and Domain Layers. Orchestrates business objects to perform specific application tasks. Implements use cases as the application logic.
- Domain Layer: Includes business objects and their business rules. This is the heart of the application.
- Infrastructure Layer: Provides generic technical capabilities that support higher layers mostly using 3rd-party libraries.
Contents
- Domain Layer
- Entities & Aggregate Roots
- Value Objects
- Repositories
- Domain Services
- Specifications
- Application Layer
- Application Services
- Data Transfer Objects (DTOs)
- Unit of Work
最新文章
- ASP.NET Core 中文文档 第四章 MVC(4.5)测试控制器逻辑
- MVC 知识点学习3(linq to sql)
- JVM实用参数(八)GC日志
- css3之文本新属性
- Android中直播视频技术探究之---基础知识大纲介绍
- ASP.Net Chart Control -----Bar and Column Charts
- python package list
- android114 c转换成c++
- [转]JAVA环境变量JAVA_HOME、CLASSPATH、PATH设置详解
- 再回首,Java温故知新(一):Java概述
- pycharm-4.5.3 汉化教程(附汉化包)
- Android中实现跨app之间数据的暴露与接收
- 关于EL表达式的生效时间(猜想)
- Spring源码情操陶冶-AbstractApplicationContext#registerBeanPostProcessors
- div,margin,padding
- ABP异常处理
- (摘录)String是值传递还是引用传递
- jvisualvm中VisualGC插件提示:不受此JVM支持
- 【Python】 Numpy极简寻路
- cf 1132 F
热门文章
- HDU 3183 A Magic Lamp(RMQ问题, ST算法)
- php开发面试题---禁用cookie之后,如何使用session
- tomcat正常启动输入localhost:8080显示404错误
- 114、TensorFlow设备放置
- 返回闭包不能引用循环变量,请改写count()函数,让它正确返回能计算1x1、2x2、3x3的函数。
- 正则search与match的区别
- 彻底干掉恶心的 SQL 注入漏洞, 一网打尽!
- python序列基本操作
- java虚拟机规范(se8)——java虚拟机的编译(四)
- rabbitmq-5-案例1-简单的案例