ABP理論學習之開篇介紹

2021-09-07 04:15:13 字數 1632 閱讀 7804

返回總目錄

為了和2023年春節賽跑,完成該系列部落格,我犧牲了今天中午的時間來完成該系列的第一篇————開篇介紹。開篇介紹嘛,讀過大學教材的同學都知道,這玩意總是那麼無聊,跟考試沒關係,乾脆直接跳過,呵呵,多麼美好的大學時光啊!不過,現在想想,開篇介紹確實不怎麼重要,它只是告訴我們今後我要開始講什麼了,主要講什麼,大概瀏覽下重點。

哦了,不扯了,時間不多了,幹活!

我們總是基於不同的需求建立不同的應用,但是在一定程度上,總在反覆地實現通用而相似的結構。這些通用的結構包括授權,驗證,異常處理,日誌,本地化,資料庫連線管理,設定管理,審計日誌等。而且,我們總是在構建體系結構和最佳實踐,比如分層模組化架構,領域驅動設計(ddd),依賴注入等等。同時也在嘗試基於慣例開發應用。

因為這些都是非常耗時的,並且對於每個專案單獨建立是很困難的,所以很多公司都會建立自己私有的框架。通過使用私有的框架,他們總是可以快速地開發新的應用,同時應用的bug又會更少。當然了,不是所有的公司都是那麼幸運了,你以為中國所有的公司都是bat啊?!大多數公司還是沒有時間,預算和團隊來開發他們自己的私人框架。即使他們有可能構建這麼乙個框架,寫文件,培訓開發者以及維護也是很難的。

abp是乙個開源的且文件友好的應用框架,起始的想法是,「開發一款為所有公司和開發者通用的框架!」。它不僅僅是乙個框架,更提供了乙個基於ddd最佳實踐的健壯的體系模型

一起來研究乙個簡單的類來看看abp有哪些好處 :

[abpauthorize(mypermissions.updatingtasks)]

public async task updatetask(updatetaskinput input)

input.mapto(task);

}} 這裡我們看到了乙個簡單的應用服務方法。在ddd中,表現層直接使用應用服務來執行該應用的用例(其實就是一些操作方法)。我們還可以考慮使用ajax呼叫上面的updatetask方法。

下面讓我們總結一下abp的一些優點:

在這麼乙個簡單的類中,我們看到了abp的優勢。所有的這些任務正常情況下都是要花費很多時間的,但是所有的這些abp自動幫我們完成了。

除了這個簡單的例子,abp也提供了乙個健壯的基礎設施和應用模型。下面是abp的一下其他特徵:

開始乙個新的解決方案,建立層,安裝nuget包,建立乙個簡單的布局和選單...所有的這些都是非常耗時的。

abp提供了乙個預生成的啟動模板,有了它,建立乙個新的解決方案更容易了。模板支援spa(單頁應用)mpa(多頁應用)。而且,我們可以選擇不同的orm。

abp的原始碼已經推送到了github上,nuget包也已經發布到了nuget上。開始使用abp最簡單的方式就是使用abp官網的模板建立專案,然後跟著文件來學習。

ABP理論學習之開篇介紹

返回總目錄 為了和2016年春節賽跑,完成該系列部落格,我犧牲了今天中午的時間來完成該系列的第一篇 開篇介紹。開篇介紹嘛,讀過大學教材的同學都知道,這玩意總是那麼無聊,跟考試沒關係,乾脆直接跳過,呵呵,多麼美好的大學時光啊!不過,現在想想,開篇介紹確實不怎麼重要,它只是告訴我們今後我要開始講什麼了,...

ABP理論學習之Abp Session

返回總目錄 當應用程式要求使用者登入時,那麼應用程式也需要知道當前使用者正在執行的操作。雖然asp.net本身在展現層提供了session物件,但abp也提供了在任何需要獲得當前使用者和租戶的地方都可以使用的iabpsession介面。關於iabpsession 為了獲得實際的session資訊,必...

ABP理論學習之Nuget包

返回總目錄 abp已經發布在nuget上,這裡是所有包的列表。abp abp系統的核心包。所有其他的包都依賴這個包。abp.web 提供了mvc和web api都使用的一些通用類和資源 abp.web.resource web層的資源 js,css.檔案 abp.web.mvc 提供一些asp.ne...