像我這樣的菜鳥一開始看到
dnn時,像劉姥姥進了大觀園眼睛都不夠用了。找了好久才找到能「下口」的地方。雖然
e文很菜,但努力讀完
文件後,還是感覺頗有所得。
dnn的模組結構採用的是三層構架:
dal:在
dnn中
dal層採用了
provider
結構。按我自己的理解,就是先定義乙個
dataprovider
,裡面定義好模組訪問資料需要的結構的,採用了單件模式。同時它是乙個反射工廠。根據不同情況繼承出不同的
concretedataprovider
。同時在
web.config
中定義好預設的
type
字串。這樣通過
instance
返回預設的
provider。
bll:在這層中。一般都有
controller
和info
兩部分。
controller
的作用是完成所有
ui需要的於資料來源相聯絡的功能,同時完成並提供
info給ui
。info
即cbo
(custom business object
)。在dnn
中info
的建立是利用核心提供的
cbo裝配集
+idatareader
利用反射直接完成的。免去了由資料庫到
ds再到苦力般的初始化過程。在我理解中,dr和
cache
的利用,都可以極大減少由反射引起的效能損失,而極大提高程式設計的舒適性和靈活性,通常可以視為很好的解決方式,不知道這種理解對不對。在涉及
sql的部分,
dnn利用了
ui:主功能頁繼承自
portalmodulebase
類。這個類也是從
usercontrol
繼承而來。我想這個大家都會很了解。一般乙個全面一點的模組都會實現選單,
edit
,等很多頁面。特別會擁有乙個
setting
類來完成頁面不同的
module
的設定。通過不同的
moduleid
來區別。(這是我的理解,我也不知道是否是這樣,希望高手門指正)
dnn的核心提供了大量的功能。如
logging,scheduler,search
等等,可以通過這些核心提供的介面來實現。按我個人的理解。
ui層完成的任務就是利用
bll層,其它模組,
dnn核心功能來完成
ascx
的建立。
由於在家裡,
dnn資料庫一直配置不好,
msdn
又沒裝。缺少實踐練習的機會。只是通過閱讀團隊各前輩的
blog
,和dnn
的文件獲得的一些淺顯的認識。希望各位大蝦如果看了的話,能夠指正,免得我深陷泥潭而不覺。
結構學習 介紹
所謂的結構學習就是輸入或者輸出是有結構的資料,比如說語句 列表 樹和識別時的邊界框 bounding box 而在之前的學習之中,輸入和輸出都是向量。在結構學習中,我們需要學習的是乙個函式 f 如下圖所示,它的輸入是一種形式,而輸出是另一種形式。主要的應用方向如下 結構學習具有乙個統一的框架,可以表...
FPN PAN結構學習
yolo4的neck結構採用該模式,我們將neck部分用立體圖畫出來,更直觀的看下兩部分之間是如何通過fpn結構融合的。如圖所示,fpn是自頂向下的,將高層特徵通過上取樣和低層特徵做融合得到進行 的特徵圖。neck部分的立體影象,看下兩部分是如何通過fpn pan結構進行融合的。和yolov3的fp...
Innodb 表結構學習
眾所周知,innodb主鍵聚集索引,index organized table 那麼沒有主鍵的時候,找非空唯一索引,或者自動建立6byte大小的指標,但是它自動建立的索引你是沒辦法拿來做主鍵過濾的 非空唯一索引如果有多個,按照 定義 順序選擇第乙個 select rowid from talbe 其...