【正文】
就是連同工廠、接口、控制層、全部在一起的MVC模式。普通的三層結(jié)構(gòu):UI / BLL / DAL ,數(shù)據(jù)實(shí)體使用 Model 封裝。這種“三層結(jié)構(gòu)”之間是順序的調(diào)用關(guān)系,UI 調(diào)用 BLL ,BLL 將操作組織并安排 DAL 層,DAL 層操作數(shù)據(jù)庫,每層之間的關(guān)系都很緊密,所以協(xié)同開發(fā)時(shí)互相的依賴性較強(qiáng),項(xiàng)目結(jié)構(gòu)耦合度大?;诟邇?nèi)聚低耦合的原則,層和層之間的調(diào)用考慮引入接口 IDAL 進(jìn)行規(guī)范和分割。BLL 層要求 DAL 層實(shí)現(xiàn)的功能先定義好接口 IDAL ,BLL 層就可以借用這些接口去完成業(yè)務(wù)流程,不必關(guān)心實(shí)現(xiàn)細(xì)節(jié)。而 DAL 層只需要按照 IDAL 接口中的定義的操作分別實(shí)現(xiàn),就可以滿足 BLL 的要求。這樣,使用接口對層和層之間的調(diào)用實(shí)現(xiàn)分離,設(shè)計(jì)時(shí)都互相不需要了解細(xì)節(jié),而在程序運(yùn)行時(shí),只需要讓 BLL 層的接口引用指向?qū)?yīng)的實(shí)際 DAL 對象,程序自然調(diào)用實(shí)現(xiàn)好的 DAL 中的功能。程序通過接口實(shí)現(xiàn)了更靈活的分層,但畢竟接口引用哪個(gè) DAL 層對象還是要在 BLL 層進(jìn)行管理。在數(shù)據(jù)庫表很多,DAL 對象也就會很多的情況下,BLL 層中關(guān)于 DAL 的管理也需要很多工作,如何管理更方面?工廠模式。工廠模式,顧名思義,就是生產(chǎn)某件產(chǎn)品的場所,在程序中起到的也是類似的功能,作用就是生產(chǎn)各式各樣的 DAL 對象。這樣,BLL 層在需要接口的引用指向?qū)?yīng)的 DAL 對象的時(shí)候,只需要向工廠要就行了,具體是如何產(chǎn)生的那個(gè)對象,BLL 不需要關(guān)心。這個(gè)框架中,DALFactory 工廠起到的作用就是生產(chǎn)各種 DAL 產(chǎn)品,交給 BLL 層使用,如果需要修改