大話領域驅動設計——表示層及其他

概述

fb40b2c38f6ae09f112c98f515f909f9.png

表示層又稱用戶界面層,包含應用程序的頁面、組件等UI元素。

7d020f70878838644dba23a02dcc949d.png

服務層提供項目的HTTP API接口,包含MVC Controller和相關組件。

79168aec59d1ad09bbc3db3c9351b67c.png

ABP框架雖然在表示層提供了不少組件,但是這些和DDD本身沒有多少關系。而且隨著前后端分離架構的流行,我們也很少會用到ABP提供的表示層功能,所以這一個篇章,就不對其用法做詳細描述。

8e975f9d9464644ac2a1a4c21c73c87c.png

這一章,我重點講解一下除前面章節提到的類庫以外,ABP模板下包含表示層在內的其他類庫劃分及用途。

概覽

87abd7fbd45bd8f97bd8d34dbb59e891.gif

表示層:

Web:是ABP提供的一個MVC項目,如果我們前后端不分離,則以此項目作為表示層。包含該項目下的所有界面。

HttpApi.Host:是ABP提供的一個WebAPI項目,用于前后端分離架構時提供WebAPI服務。包含管道模型配置、服務設置等基礎代碼,不包含用戶界面,也不包含實現業務的Controller。?

7c852946675d1ea77e05aed86f095abb.gif

服務層:

HttpApi:此項目包含自定義的Controller,如果不使用動態WebAPI而是希望控制器由我們自己編寫,則需要寫在該項目中。

54a5aa5586fff70cb7893bbeb833eba6.gif

客戶端代理:

HttpApi.Client:是一個客戶端動態代理項目,如果是我們的服務是由另一個ABP項目調用,ABP框架自動化生成客戶端調用的代理功能,客戶端只需要引用此項目,并做相應配置,即可以依賴注入方式快速調用服務。在上一篇章《ABP微服務架構詳細教程》的聚合服務層實現中,我們就使用了這個機制。

結束語

這個系列到這里就結束了,在這一系列,我對領域驅動設計的戰略設計和戰術設計以及ABP框架為戰術設計提供的基礎組件用法做了講解。

后面,我準備再開一個系列作為ABP框架各種用法的補充教程。

有任何問題歡迎加入微信交流群提問或一起交流。

0a09aaa557050bd26f78cd34e1857557.png

3047beb99a2ab33529c7a72da07f1a69.png

99b7cb4a95bf44485839f98b26ba63c3.png

ed7bf0097fd60c0be0bd4f5e8c829527.png

歡迎加入微信交流群

END

f295f1d249e784cd45de5751e2e53a42.png

37040202c420992f64bc770af9370e3a.png

關注我獲得

更多精彩

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/285610.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/285610.shtml
英文地址,請注明出處:http://en.pswp.cn/news/285610.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言九十六之實現經典的字符串反轉(通過指針或下標操作)

?作者簡介:大家好我是碼莎拉蒂,CSDN博客專家🥇🥇🥇 📃個人主頁:個人主頁 🔥系列專欄:C語言試題200例 💬推薦一款模擬面試、刷題神器👉 點擊跳轉進…

Windows10家庭中文版沒有本地策略選項完美解決方案

Win+R,在運行中輸入:secpol.msc,查看安全設置是否打開,如下圖所示。 組策略對于優化和維護Windows系統來說十分重要。眾所周知,Windows 10家庭版中并不包含組策略,對于使用家庭版Windows的朋友來說,十分不方便。 通常情況下,如果策略組沒有打開的話,在安裝CAD等軟件時…

JavaScript總結(六)

使用DOM操縱樣式表 ? 操縱元素的Style樣式屬性(所有的均對于CSS的內聯式) 對于每個CSS樣式,Style對象都包含了一個相對應的屬性,只需要用到style屬性即可; Div.style.color "red"; //給div元素設置字體顏色…

[轉]淺談CMD和win powershell的區別

1、前言:本文給大家簡單描述了一下POWERSHELL和CMD的區別,簡單的說,Powershell是cmd的超集,換句話說,cmd能做的事情,Powershell都能做,但是Powershell還能額外做許多cmd不能做的活。 2、cmd是和…

【ArcGIS風暴】柵格計算器(Raster Calculator)運算出現錯誤問題及解決方案匯總

柵格計算器(Raster Calculator) 是一種空間分析函數工具,可以輸入地圖代數表達式,使用運算符和函數來做數學計算,建立選擇查詢,或鍵入地圖代數語法。只有熟練的運用并記憶一些常用的公式,才能很好的運用柵格計算器。在使用的過程中,容易出現這樣那樣的問題,本文就把柵…

「博客之星」評選,互投5星,留鏈必投

?? ? ?? 歡迎誠信互投? ? ? ?? ????? 謝謝各位大佬門,互投5星????? 投票地址: https://bbs.csdn.net/topics/603958492 投票地址: https://bbs.csdn.net/topics/603958492 投票地址: https://bbs.csdn.net…

為 ServiceCollection 實現裝飾器模式

為 ServiceCollection 實現裝飾器模式Intro在二十四種設計模式中,有一個模式叫做裝飾器模式一般用來動態地給一個對象添加一些額外的職責,就增加功能來說,裝飾模式比生成子類更為靈活,有更好的擴展性,我們也可以借助 D…

手把手教你啟用Win10的Linux子系統 Ubuntu

1、打開“開發者選項” 2、啟用“執行 Linux 程序的windows 子系統” 3、應用商店下載安裝Ubuntu 附:ubuntu的一些命令及查看已安裝軟件包的命令 // 系統 # uname -a # 查看內核/操作系統/CPU信息 # head -n 1 /etc/issue # 查看操作系統版本 # cat…

jquery的height()和javascript的height總結,js獲取屏幕高度

jquery的height()和javascript的height總結,js獲取屏幕高度在javascript和jquery中,都有對各種高度的寫法,在這里,我們就著重講一下窗口、文檔等高度的理解。(寬度和高度差不多!)jquery的各種高度首先來說一說$(docume…

【地理信息系統GIS】教案(七章全)第五章:空間數據查詢與空間分析

目錄 第一節 空間數據查詢第二節 緩沖區分析第三節 疊置分析第四節 網絡分析第五節 DEM建立及分析第一節 空間數據查詢 1.1 空間數據查詢 1、空間數據查詢的含義 從空間數據庫中找出所有滿足屬性約束條件和空間約束條件的地理對象。 空間數據查詢的一般過程 2、空間數據查詢…

Understanding G1 GC Logs--轉載

原文地址:https://blogs.oracle.com/poonam/entry/understanding_g1_gc_logs Understanding G1 GC Logs By Poonam-Oracle on Jun 18, 2012 The purpose of this post is to explain the meaning of GC logs generated with some tracing and diagnostic options fo…

Dart語言精簡入門介紹

Dart語言精簡入門介紹 1、介紹 Dart 在設計時應該是同時借鑒了 Java 和 JavaScript和kotlin 面向對象 JIT&AOT:JIT(Just in Time)優點:即時編譯,開發期間更快編譯,更快的重載;缺點&#…

WPF 窗口居中 變更觸發機制

本文經原作者授權以原創方式二次分享,歡迎轉載、分享。原文作者:唐宋元明清原文地址:https://www.cnblogs.com/kybs0/p/7420767.html窗口居中 & 變更觸發機制解決:1)單實例窗口,窗口每次隱藏后再顯示時…

[轉]5分鐘實現Android中更換頭像功能

5分鐘實現Android中更換頭像功能 寫在前面: 更換頭像這個功能在用戶界面幾乎是100%出現的。通過拍攝照片或者調用圖庫中的圖片,并且進行剪裁,來進行頭像的設置。 功能相關截圖如下: 下面我們直接看看完整吧: public cl…

Excel VBA窗體上打印系統時間print now出錯原因及解決方案

如圖所示,需要在窗體上顯示當前系統時間: 首先,我們看一下now函數的原型: Now 函數   語法:Now   說明:返回一個 Variant (Date),根據計算機系統設置的日期和時間來指定日期和時間。   示例: Private Sub CommandButton1_Click()Dim a As Varianta = NowMsgBox…

(第九周)團隊項目14

項目名:食物鏈教學工具 組名:奮斗吧兄弟 組長:黃興 組員:李俞寰、杜橋、欒驕陽、王東涵 代碼地址:HTTPS: https://git.coding.net/li_yuhuan/FoodChain.git SSH: gitgit.coding.net:li_yuhuan/FoodChain.git SCRUM會議…

為什么 C# 訪問 null 字段會拋異常?

一:背景 1. 一個有趣的話題最近在看 硬件異常 相關知識,發現一個有意思的空引用異常問題,拿出來和大家分享一下,為了方便講述,先上一段有問題的代碼。namespace ConsoleApp2 {internal class Program{static Person pe…

Android項目實戰(十五):自定義不可滑動的ListView和GridView

不可滑動的ListView (RecyclweView類似) public class NoScrollListView extends ListView {public NoScrollListView(Context context, AttributeSet attrs) {super(context,attrs);}public void onMeasure(int widthMeasureSpec, int heightMeasureSpec){ int mExpandSpec …

C語言試題一百之輸入某年某月某日,判斷這一天是這一年的第幾天

?作者簡介:大家好我是碼莎拉蒂,CSDN博客專家?????? ??個人主頁:個人主頁 ??系列專欄:C語言試題200例 ??推薦一款模擬面試、刷題神器?? 點擊跳轉進入網站 1、題目 題目:輸入某年某月某日,判斷這一天是這一年的第幾天? 分析: 以 3 月 5 日為例,應該先把…

[轉]Java學習路線圖(完整詳細2019版)

一門永不過時的編程語言——Java 軟件開發。 Java編程語言占比: 據官方數據統計,在全球編程語言工程師的數量上,Java編程語言以1000萬的程序員數量位居首位。 而且很多軟件的開發都離不開Java編程,因此其程序員的數量最多。而在…