Giter Site home page Giter Site logo

pear-admin-abp's Introduction


Pear Admin Abp

开 箱 即 用 的 .Net 快 速 开 发 平 台

预 览 | 官 网 | 群聊 | 社区

Pear Admin Layui Version Jquery Version Layui Version

介绍

基于ABP框架封装一套MPA框架,使用Layui作为前端呈现,封装常用的功能。旨在设计快速入手,快速实践框架。

软件架构

基于Abp框架并接入Pear Admin前端框架,Pear Admin框架基于Layui封装,两者均开源免费。

项目结构

整体的解决方案结构划分如下,其中PearAdmin.AbpTemplate.Admin重命名了ABP默认提供的Web.Mvc项目,一是从结构上出发,看起来更显得从上至下的分层结构,二是从请求路径上一目了然。并额外增加了PearAdmin.AbpTemplate.Gateway,以此来增加防腐层,方便各限界上下文间不要直接请求,通过防腐层约束请求调用。

- PearAdmin.AbpTemplate
    -src
        - PearAdmin.AbpTemplate.Admin
        - PearAdmin.AbpTemplate.Application
        - PearAdmin.AbpTemplate.Core
        - PearAdmin.AbpTemplate.EntityFrameworkCore
        - PearAdmin.AbpTemplate.Gateway
    - test
        - PearAdmin.AbpTemplate.Admin.Tests
        - PearAdmin.AbpTemplate.Application.Tests
        - PearAdmin.AbpTemplate.Core.Tests
    - tool
        - PearAdmin.AbpTemplate.Migrator
        - PearAdmin.AbpTemplate.Shared

说明:Admin为UI层,Application和Core为应用层和领域层,EntityFrameworkCore和Gateway及ABP自身提供的辅助设施组合为基础设施层。

代码模型

从DDD的角度考虑,抛弃UI层,以应用层,领域层,基础设施层去出发,按照文件夹隔离出限界上下文边界,内部代码模型如下

- PearAdmin.AbpTemplate.Application
    - AContext
        - AAggregate
    - BContext
        - BAggregate
        - ...
- PearAdmin.AbpTemplate.Core
    - AContext
        - AAggregate
    - BContext
        - BAggregate
        - ...
- PearAdmin.AbpTemplate.EntityFrameworkCore
- PearAdmin.AbpTemplate.Gateway
    - AContext

防腐层的建立,约定在领域层建立防腐层接口,在基础设施层-网关中实现接口,网关层对Application层有项目依赖,方便实例化下游上下文所需要的上游上下文。为避免出现循环引用,上下文映射图中最好不要出现环。

- PearAdmin.AbpTemplate.Application
    - AContext
    - BContext
- PearAdmin.AbpTemplate.Core
    - AContext
        - ...
        - AntiCorruption
            - IBService
    - BContext
- PearAdmin.AbpTemplate.EntityFrameworkCore
- PearAdmin.AbpTemplate.Gateway
    - AContext
        - AntiConrruption
            - BService

如限界上下文A需要访问上下文B中信息或需要B上下文协作,则通过A建立的防腐层接口与实现访问B上下文中的服务,以此来避免直接耦合。 输入图片说明

pear-admin-abp's People

Contributors

sassassin avatar sleeprite avatar

Stargazers

linxiao avatar  avatar

Forkers

xuweixiaojian

pear-admin-abp's Issues

关于 SKIT.FlurlHttpClient.Wechat

您好,我是 SKIT.FlurlHttpClient.Wechat 项目的维护者,我有注意您在项目中使用了本项目作为微信公众平台的 API HttpClient。

我想了解一下使用者对本项目的使用评价:

  • 是否在使用过程中遇到过什么问题?
  • 是否能通过开发文档或示例项目对上述问题得到自助解答?如果不能,是哪里仍有疑问?
  • 是否有使用方式上感到 Ugly 或别扭的地方?如果有,具体是哪里?
  • 是否有其他建议?

感谢您使用本项目,您的意见或建议将对本项目的发展产生重要帮助。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.