亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        簡單工廠模式在三層架構管理系統(tǒng)中的應用

        2014-11-21 11:14:50梁紅碩張玉松
        關鍵詞:數(shù)據(jù)庫課程設計

        梁紅碩, 張玉松

        (石家莊職業(yè)技術學院 信息工程系,河北 石家莊 050081)

        在數(shù)據(jù)庫管理系統(tǒng)開發(fā)中,三層體系架構設計模式是目前最通用的設計模式.分層結構的設計離不開設計模式的靈活應用,而設計模式一方面可以使系統(tǒng)開發(fā)者方便地復用成功的設計和體系結構,同時也使人更容易理解其設計思路.簡單工廠模式是較簡單也較常用的一種設計模式.本文主要探討簡單工廠模式在三層架構管理系統(tǒng)中的應用.

        1 簡單工廠模式簡述

        簡單工廠模式(Simple Factory)也稱為靜態(tài)工廠模式(Static Factory Method),屬于類的創(chuàng)建型模式.在該模式中,“消費者”提供信息給“工廠”,“工廠”根據(jù)“產(chǎn)品樣式”生產(chǎn)出符合要求的“產(chǎn)品”[1].其中,“產(chǎn)品樣式”是指“抽象商品”,也即基類或接口;“產(chǎn)品”是指“具體產(chǎn)品”,也即對象.簡單工廠模式的實質就是有一個工廠類,它能根據(jù)傳入?yún)?shù)的不同,動態(tài)決定創(chuàng)建哪個類的實例,而這些類均來自同一個父類或接口[2].該模式中包含的角色及職責如圖1所示.

        圖1 簡單工廠模式層次示意圖

        (1)工廠(Creator)角色

        該類是簡單工廠模式的核心,負責創(chuàng)建所有實例的內部邏輯.通過應用工廠類,可以封裝商品的創(chuàng)建過程.

        (2)抽象(Product)角色

        簡單工廠模式創(chuàng)建的所有對象的父類可以被看作具體產(chǎn)品的樣式,它提供具體產(chǎn)品的主要規(guī)格.

        (3)具體產(chǎn)品(Concrete Product)角色

        利用簡單工廠模式創(chuàng)建的所有目標對象,均可以認為是工廠創(chuàng)建的產(chǎn)品,可以提供給消費者使用.

        2 在三層體系架構中應用簡單工廠模式

        2.1 三層體系架構

        目前典型的三層架構自底向上依次為:數(shù)據(jù)訪問層、業(yè)務邏輯層和表示層.其中,數(shù)據(jù)訪問層負責與SqlServer,Access等數(shù)據(jù)源交互,即進行數(shù)據(jù)的插入、修改、刪除、查詢以及從數(shù)據(jù)庫中讀取數(shù)據(jù)等操作,為實現(xiàn)業(yè)務邏輯提供數(shù)據(jù)庫訪問基礎.業(yè)務邏輯層負責系統(tǒng)領域業(yè)務的處理,調用數(shù)據(jù)訪問層,并力求滿足表示層中每個邏輯功能的需求.表示層需要針對用戶的需求,為每個功能模塊部署相應的輸入控件、操作控件、輸出控件及調用業(yè)務邏輯層的相關方法,以實現(xiàn)與用戶的輸入、輸出交互[3].

        2.2 簡單工廠模式的應用

        以三層學生選課管理系統(tǒng)為例,應用簡單工廠模式,能夠使該系統(tǒng)適用于多種數(shù)據(jù)庫系統(tǒng),如SqlServer,Access,Oracle,MySQL等.要訪問不同的數(shù)據(jù)庫管理系統(tǒng),需要設計相應的數(shù)據(jù)訪問層.在本文中分別設計了AceessDAL和SQLServerDAL兩個數(shù)據(jù)訪問層,以完成對Access數(shù)據(jù)庫和SQLServer數(shù)據(jù)庫的訪問,這兩個項目屬于簡單工廠模式中的具體產(chǎn)品角色.同時,設計了一個訪問各個類的接口項目IDAL(數(shù)據(jù)訪問接口),它包含以上兩個數(shù)據(jù)訪問層項目的所有數(shù)據(jù),此項目即為簡單工廠模式中的抽象角色.還設計了一個工廠類DALFactory,它根據(jù)輸入?yún)?shù)的不同,決定生成哪個數(shù)據(jù)訪問類的對象,此項目屬于簡單工廠模式中的工廠角色.應用簡單工廠模式設計的系統(tǒng)體系架構如圖2所示.

        圖2 應用簡單工廠模式的系統(tǒng)體系架構圖

        2.2.1 設計IDAL

        接口是用來定義多個類時都必須具備的,方式不同實現(xiàn)的功能也不同.IDAL接口中應定義AcceessDAL和SQLServerDAL兩個類中都具備的方法.在DAL層,對數(shù)據(jù)庫中的每張表設計一個類,以完成對數(shù)據(jù)的增加、刪除、修改、查詢等基本操作.因此,在IDAL中,對應DAL中的每個類均設計有一個接口,包含對其所有方法的定義,如圖3所示.

        其中,ICourseAccess(學生選課管理系統(tǒng))接口的代碼如下:

        List<Course> GetCourseList();///獲取課程列表

        List<Course> GetCourse(string courseId);///獲取某課程信息列表

        bool Exist(string courseId);/// 根據(jù)課程號判斷此課程是否存在

        int AddCourse(Course course);///應用課程對象添加課程

        int DelCourse(string courseId);///根據(jù)課程號刪除課程

        Course GetCourseModel(string courseId);///根據(jù)課程編號獲取課程對象

        圖3 IDAL設計

        2.2.2 設計工廠類DALFactory

        工廠類要根據(jù)輸入的參數(shù)決定生成哪個數(shù)據(jù)訪問類的對象.其中,數(shù)據(jù)庫的參數(shù)信息需要放在配置文件中,工廠類從配置文件中讀取信息,獲取參數(shù).如果應用Access數(shù)據(jù)庫,則需要在配置文件中添加如下信息:

        <appSettings>

        <?。斍笆褂玫臄?shù)據(jù)庫系統(tǒng)Access/SqlServer-->

        <add key="CurrentDBSystem"value="access"/>

        </appSettings>

        接下來需要在工廠類中設計靜態(tài)方法以對應接口中的相應方法,并根據(jù)不同參數(shù)值創(chuàng)建相應數(shù)據(jù)訪問類的對象.具體代碼如下:

        public static ICourseAccess CreatCourseAccess()

        ICourseAccess courseAccess=null;

        switch(currenDBSystem)

        case"access":

        courseAccess=new CourceManage_3.

        AccessDAL.CourseAccess();

        break;

        case"sqlserver":

        courseAccess=new CourceManage_

        3.SQLServerDAL.CourseAccess();

        break;

        return courseAccess;

        2.2.3 業(yè)務邏輯層實現(xiàn)

        業(yè)務邏輯層調用數(shù)據(jù)層時,只需要調用工廠類的CreatCourseAccess()方法,創(chuàng)建當前數(shù)據(jù)庫系統(tǒng)所需要的數(shù)據(jù)訪問類對象,屏蔽底層業(yè)務.業(yè)務邏輯層并不知道數(shù)據(jù)對象是由哪個數(shù)據(jù)訪問類創(chuàng)建的,即不論采用哪種數(shù)據(jù)庫,對業(yè)務邏輯層、表示層均沒有任何影響.

        實現(xiàn)代碼為:

        ICourseAccess courAccess=classDALFactory.CreatCourseAccess().

        3 結束語

        基于簡單工廠模式的三層體系架構,能降低模塊間的耦合性,更好地實現(xiàn)軟件的復用.它具有健壯性好、拓展性強和可移植性好的特點,能有效降低系統(tǒng)的建設和維護成本,并適應業(yè)務不斷變化和更新的需求,符合大型商業(yè)軟件的開發(fā)規(guī)范.

        [1]段海清.基于NET平臺的分層架構與設計模式的設計與實現(xiàn)[D].成都:電子科技大學,2013.

        [2]馬相芬.在三層結構中使用抽象工廠設計模式 [J].內江科技,2011(4):127.

        [3]賈延明,張永濤.抽象工廠設計模式在MIS中的應用 [J].計算機系統(tǒng)應用,2011,20(1):205-207.

        猜你喜歡
        數(shù)據(jù)庫課程設計
        數(shù)字圖像處理課程混合式教學改革與探索
        軟件設計與開發(fā)實踐課程探索與實踐
        計算機教育(2020年5期)2020-07-24 08:53:38
        為什么要學習HAA課程?
        瞞天過?!律O計萌到家
        藝術啟蒙(2018年7期)2018-08-23 09:14:18
        設計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        數(shù)據(jù)庫
        財經(jīng)(2017年2期)2017-03-10 14:35:35
        數(shù)據(jù)庫
        財經(jīng)(2016年15期)2016-06-03 07:38:02
        數(shù)據(jù)庫
        財經(jīng)(2016年3期)2016-03-07 07:44:46
        數(shù)據(jù)庫
        財經(jīng)(2016年6期)2016-02-24 07:41:51
        欧美一级视频精品观看| 久久精品国产清自在天天线| 精品国产拍国产天天人| 成人无码视频| 男女高潮免费观看无遮挡| 快射视频网站在线观看| 97在线视频人妻无码| 9lporm自拍视频区| 精品亚洲国产探花在线播放 | 久久这黄色精品免费久| 国产精品国产三级第一集| 无码免费一区二区三区| 国产精品主播视频| 亚洲av毛片一区二区久久| 国产精品沙发午睡系列| 精品国产sm捆绑最大网免费站| 国产成人精品三级在线影院| 在线观看国产精品一区二区不卡| 草草影院发布页| 久久av高潮av无码av喷吹| 久久精品国产热久久精品国产亚洲| 大香蕉视频在线青青草| 国产亚洲成av人片在线观看| 在教室伦流澡到高潮h麻豆| 无码成年性午夜免费网站蜜蜂| 久久精品一区二区熟女| 无码人妻人妻经典| 无码的精品免费不卡在线| 国产精品成人有码在线观看| 久久99精品久久久久麻豆| 日韩精品无码免费专区网站| 久久久久久久久中文字幕| 青青草原综合久久大伊人精品| 国产草草影院ccyycom| 久久久久久人妻精品一区百度网盘| 国产午夜福利av在线麻豆| 色与欲影视天天看综合网| 曰本女人牲交全视频免费播放| 亚洲色偷偷偷综合网另类小说| 亚洲国产成人久久精品不卡| 水蜜桃精品一二三|