日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

对三层架构的简单改进

發(fā)布時間:2025/4/16 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 对三层架构的简单改进 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  三層架構是很常見的架構方式,被很多公司所使用,特別是asp.net。優(yōu)點是使用簡單,缺點是BLL層與DAL層經常會很多重復。

今天不是要討論它的優(yōu)缺點,而是討論使用它時存在的問題。 我們在使用過程中,BLL層一般不會用來存儲持久化的變量,而且BLL經常被這樣使用的: SomeBLL bll=new SomeBLL( );bll.doSomething( );

圖1:DAL,BLL和Page的關系 這就有個問題,如果有十個頁面需要訪問這個類,那么就需要創(chuàng)建十次這個變量。如果同時有一千人在訪問,那可能是一萬個BLL對象。還有,每個BLL對象,還要new一個DAL對象…… 當然,.net也不見得會這么傻,畢竟還有共用,垃圾回收機制等等。可是,我們真的有必要這么做嗎? 由于BLL對象一般不是用來儲存持久化變量,里面只有一些邏輯方法,那么我們是否可以只創(chuàng)建一次BLL對象,而且是所有瀏覽的用戶都使用同一個對象呢? 當然是可以的,什么單例模式,什么工廠模式……今天,我們學一下 ?DataRow,也來使用一個自己的方式。 ? 圖2:改進的設計 我們使用BLLCreator來創(chuàng)建唯一的一個靜態(tài)的SomeBLL。 public class BLLCreator{private static SomeBLL _someBll;public static SomeBLL CreateSomeBLL( ){if(_someBll == null){_someBll = new SomeBLL( );}return _someBll;}}public class SomeBLL(){private SomeDAL someDal = new SomeDAL( );protected internal SomeBLL(){// todo something init here }public void doSomething(){}}public class Page1:WebPage{SomeBLL someBll = BLLCreator.CreateSomeBLL( );someBll.doSomething( );}

? ??搞定。以后無論多少人訪問,永遠是一個對象。當然,如果想用泛型什么的,自由發(fā)揮了。

?

轉載于:https://www.cnblogs.com/fyan888/p/sancengbug.html

總結

以上是生活随笔為你收集整理的对三层架构的简单改进的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。