本發(fā)明涉及軟件技術(shù)領(lǐng)域,具體而言,涉及一種軟件框架及軟件框架設(shè)計(jì)方法。
背景技術(shù):
常規(guī)軟件設(shè)計(jì)中,軟件框架通常會(huì)被劃分為很多層級(jí),每一個(gè)層級(jí)都會(huì)處理一些相關(guān)的事情。每個(gè)層級(jí)之間都會(huì)處理一些相關(guān)的功能,但是每個(gè)層級(jí)之間處理事情的時(shí)候可能會(huì)需要用到其他層級(jí)的一些接口或者功能類,這樣每個(gè)層級(jí)就會(huì)和多個(gè)其他層級(jí)之間具有高度耦合。隨著軟件業(yè)務(wù)的復(fù)雜程度的提升,軟件架構(gòu)的耦合度會(huì)越來越高,后期如果由于業(yè)務(wù)需求的變更我們需要替換某個(gè)層級(jí)中的某一個(gè)模塊的時(shí)候,由于該模塊與外部的依賴關(guān)系錯(cuò)綜復(fù)雜導(dǎo)致該模塊根本無法進(jìn)行替換或者替換會(huì)造成巨大的人力物力的浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例的目的在于,提供一種軟件框架及軟件框架設(shè)計(jì)方法以解決上述問題。
本發(fā)明實(shí)施例提供一種軟件框架,適用于運(yùn)行在終端的應(yīng)用軟件,所述軟件框架包括依賴殼層、適配器層、公共資源層以及項(xiàng)目模塊層;
所述依賴殼層集成有所述應(yīng)用軟件的項(xiàng)目所需的第三方庫,封裝有所述應(yīng)用軟件所適用操作系統(tǒng)層對(duì)應(yīng)的、所述應(yīng)用軟件所包括業(yè)務(wù)所需的第三方庫訪問接口;
所述適配器層用于對(duì)所述依賴殼層進(jìn)行適配操作,對(duì)所述依賴殼層提供接口實(shí)現(xiàn),且向所述項(xiàng)目模塊層提供統(tǒng)一的接口訪問;
所述公共資源層存儲(chǔ)有多種公共資源,對(duì)所述多種公共資源進(jìn)行集中化管理;
所述項(xiàng)目模塊層包括多個(gè)業(yè)務(wù)模塊,各所述業(yè)務(wù)模塊可通過所述適配器層提供的接口調(diào)用所述公共資源層中的多種所述公共資源來實(shí)現(xiàn)各自的業(yè)務(wù)邏輯。
進(jìn)一步地,所述軟件框架還包括項(xiàng)目入口殼層,所述項(xiàng)目入口殼層對(duì)所述項(xiàng)目模塊層中的各所述業(yè)務(wù)模塊進(jìn)行集成和組件,且對(duì)所述項(xiàng)目模塊層中的業(yè)務(wù)模塊所調(diào)用的所述公共資源進(jìn)行初始化。
進(jìn)一步地,所述依賴殼層、所述適配器層、所述公共資源層、所述項(xiàng)目資源層以及所述項(xiàng)目入口殼層具有不同等級(jí)的層級(jí)關(guān)系,其中,所述適配器層的層級(jí)等級(jí)高于所述依賴層的層級(jí)等級(jí),所述公共資源層的層級(jí)等級(jí)高于所述適配器層的層級(jí)等級(jí),所述項(xiàng)目資源層的層級(jí)等級(jí)高于所述公共資源層的層級(jí)等級(jí),所述項(xiàng)目入口殼層的層級(jí)等級(jí)高于所述項(xiàng)目資源層的層級(jí)等級(jí);
各層級(jí)的軟件層之間的引用關(guān)系為高層級(jí)的軟件層引用與其相鄰的下一層級(jí)的軟件層。
進(jìn)一步地,所述多種公共資源包括自定義庫以及多個(gè)公用資源模塊;
所述多個(gè)公用資源模塊被配置成能夠被所述項(xiàng)目模塊層中的各所述業(yè)務(wù)模塊所調(diào)用,所述自定義庫為工具性質(zhì)的工具庫,所述工具庫被配置成能夠被所述項(xiàng)目模塊層中的各所述業(yè)務(wù)模塊所調(diào)用。
進(jìn)一步地,所述多個(gè)業(yè)務(wù)模塊中的每一業(yè)務(wù)模塊唯一對(duì)應(yīng)所述應(yīng)用軟件的項(xiàng)目中的一業(yè)務(wù),各所述業(yè)務(wù)模塊之間沒有引用關(guān)系。
本發(fā)明另一實(shí)施例提供一種軟件框架設(shè)計(jì)方法,適用于運(yùn)行在終端的應(yīng)用軟件,所述方法包括:
集成所述應(yīng)用軟件的項(xiàng)目所需的第三方庫,封裝所述應(yīng)用軟件所適用操作系統(tǒng)層對(duì)應(yīng)的、所述應(yīng)用軟件所包括業(yè)務(wù)所需的統(tǒng)一的第三方庫訪問接口,以構(gòu)建軟件框架的依賴殼層;
對(duì)所述依賴殼層進(jìn)行適配操作,對(duì)所述依賴殼層提供接口實(shí)現(xiàn),且向所述項(xiàng)目模塊層提供統(tǒng)一的接口訪問,以構(gòu)建所述軟件框架的適配器層;
對(duì)多種公共資源進(jìn)行存儲(chǔ),且對(duì)所述多種公共資源進(jìn)行集中化管理,以構(gòu)建所述軟件框架的公共資源層;
將所述應(yīng)用軟件的項(xiàng)目業(yè)務(wù)劃分為多個(gè)業(yè)務(wù)模塊,利用各所述業(yè)務(wù)模塊通過所述適配器層提供的接口調(diào)用所述公共資源層中的多種所述公共資源來實(shí)現(xiàn)各自的業(yè)務(wù)邏輯,以構(gòu)建所述軟件框架的項(xiàng)目模塊層。
進(jìn)一步地,所述方法還包括:
對(duì)所述項(xiàng)目模塊層中的各所述業(yè)務(wù)模塊進(jìn)行集成和組件,且對(duì)所述項(xiàng)目模塊層中的業(yè)務(wù)模塊所調(diào)用的所述公共資源進(jìn)行初始化,以構(gòu)建所述軟件框架的項(xiàng)目入口殼層。
進(jìn)一步地,所述依賴殼層、所述適配器層、所述公共資源層、所述項(xiàng)目資源層以及所述項(xiàng)目入口殼層具有不同等級(jí)的層級(jí)關(guān)系,其中,所述適配器層的層級(jí)等級(jí)高于所述依賴層的層級(jí)等級(jí),所述公共資源層的層級(jí)等級(jí)高于所述適配器層的層級(jí)等級(jí),所述項(xiàng)目資源層的層級(jí)等級(jí)高于所述公共資源層的層級(jí)等級(jí),所述項(xiàng)目入口殼層的層級(jí)等級(jí)高于所述項(xiàng)目資源層的層級(jí)等級(jí);
各層級(jí)的軟件層之間的引用關(guān)系為高層級(jí)的軟件層引用與其相鄰的下一層級(jí)的軟件層。
進(jìn)一步地,所述多種公共資源包括自定義庫以及多個(gè)公用資源模塊,所述自定義庫為工具性質(zhì)的工具庫,所述方法還包括:
將所述多個(gè)公用資源模塊配置成能夠被所述項(xiàng)目模塊層中的各所述業(yè)務(wù)模塊所調(diào)用;
將所述工具庫配置為能夠被所述項(xiàng)目模塊層中的各所述業(yè)務(wù)模塊所調(diào)用。
進(jìn)一步地,所述多個(gè)業(yè)務(wù)模塊中的每一業(yè)務(wù)模塊唯一對(duì)應(yīng)所述應(yīng)用軟件的項(xiàng)目中的一業(yè)務(wù),各所述業(yè)務(wù)模塊之間沒有引用關(guān)系。
本發(fā)明實(shí)施例提供的軟件框架及軟件框架設(shè)計(jì)方法,適用于運(yùn)行在終端的應(yīng)用軟件。所述軟件框架被劃分為依賴殼層、適配器層、公共資源層以及項(xiàng)目模塊層,并且對(duì)每個(gè)層級(jí)的軟件層的功能進(jìn)行了清晰明了的定義。層級(jí)之間的依賴關(guān)系進(jìn)行了限定,實(shí)現(xiàn)了各個(gè)層級(jí)模塊之間的高內(nèi)聚低耦合的目標(biāo),極大地提高了軟件的后期可維護(hù)性和擴(kuò)展性,是一個(gè)高可復(fù)用的優(yōu)秀架構(gòu)設(shè)計(jì)。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對(duì)范圍的限定,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1為本發(fā)明較佳實(shí)施例提供的軟件框架的結(jié)構(gòu)示意圖。
圖2為本發(fā)明較佳實(shí)施例提供的公共資源層的結(jié)構(gòu)示意圖。
圖3為本發(fā)明較佳實(shí)施例提供的軟件框架設(shè)計(jì)方法的流程圖。
圖4為本發(fā)明較佳實(shí)施例提供的軟件框架設(shè)計(jì)方法的另一流程圖。
圖標(biāo):100-依賴殼層;200-適配器層;300-公共資源層;310-公用資源模塊;320-自定義庫;400-項(xiàng)目模塊層;410-業(yè)務(wù)模塊;500-項(xiàng)目入口殼層。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來布置和設(shè)計(jì)。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例?;诒景l(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。同時(shí),在本發(fā)明的描述中,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“設(shè)置”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個(gè)元件內(nèi)部的連通。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本發(fā)明中的具體含義。
為了提高應(yīng)用軟件的管理靈活性,本發(fā)明實(shí)施例提供了一種適用于運(yùn)行在終端的應(yīng)用軟件的軟件框架。請(qǐng)參閱圖1,為本發(fā)明實(shí)施例提供的軟件框架,所述軟件框架可以包括依賴殼層100、適配器層200、公共資源層300、項(xiàng)目模塊層400以及項(xiàng)目入口殼層500。
所述依賴殼層100、所述適配器層200、所述公共資源層300、所述項(xiàng)目模塊層400以及所述項(xiàng)目入口殼層500具有不同等級(jí)的層級(jí)關(guān)系。其中,所述適配器層200的層級(jí)等級(jí)高于所述依賴殼層100的層級(jí)等級(jí),所述公共資源層300的層級(jí)等級(jí)高于所述適配器層200的層級(jí)等級(jí),所述項(xiàng)目模塊層400的層級(jí)等級(jí)高于所述公共資源層300的層級(jí)等級(jí),所述項(xiàng)目入口殼層500的層級(jí)等級(jí)高于所述項(xiàng)目模塊層400的層級(jí)等級(jí)。
在本實(shí)施例中,各層級(jí)的軟件層之間的引用關(guān)系為高層級(jí)的軟件層引用與其相鄰的下一層級(jí)的軟件層。
所述依賴殼層100為第三庫的依賴層,所述依賴殼層100的主要功能是將應(yīng)用軟件執(zhí)行項(xiàng)目所依賴的第三方庫統(tǒng)一到一個(gè)層級(jí)中,所述依賴殼層100是本發(fā)明實(shí)施例建立的軟件框架的最底層。
所述依賴殼層100不會(huì)涉及到任何業(yè)務(wù)邏輯代碼,也不會(huì)處理任何代碼以及相關(guān)文件的存放。所述依賴殼層100僅僅是一個(gè)空殼層,其核心功能是向系統(tǒng)提供所述應(yīng)用軟件所適用操作系統(tǒng)層對(duì)應(yīng)的、所述應(yīng)用軟件所包括業(yè)務(wù)所需的第三方庫訪問接口。
所述適配器層200的主要目的是對(duì)所述軟件框架的底層依賴殼層100進(jìn)行適配操作,以方便在后期項(xiàng)目能夠隨時(shí)切換至不同的第三方組件。所述適配器層200的核心邏輯是向所述項(xiàng)目模塊層400提供統(tǒng)一的接口訪問,并且對(duì)所述依賴殼層100提供不同的接口實(shí)現(xiàn)。
所述適配器層200能夠調(diào)用所述依賴殼層100中的方法來實(shí)現(xiàn)預(yù)先定義好的適配器接口函數(shù),這樣以保證后期適配器層200的上層模塊都是面向所述適配器層200進(jìn)行編程。以此也有效地保證了所述適配器層200之上的模塊能夠與所述依賴殼層100之間的模塊進(jìn)行有效隔離。其中,所述適配層僅能夠依賴于所述依賴殼層100。
例如,若當(dāng)前系統(tǒng)需要兩種日志系統(tǒng),日志系統(tǒng)a和日志系統(tǒng)b,在開發(fā)過程中,有時(shí)會(huì)需要用到日志系統(tǒng)a來打日志,有時(shí)則需要用到日志系統(tǒng)b來打日志。若按照傳統(tǒng)的開發(fā)方式,則若需要用到日志系統(tǒng)a時(shí),整個(gè)系統(tǒng)直接耦合與日志系統(tǒng)a相關(guān)的函數(shù),直接調(diào)用日志系統(tǒng)a中相關(guān)的打日志的方法。這樣的方式存在一定的缺陷,如,若后期需要進(jìn)行日志系統(tǒng)切換時(shí),整個(gè)項(xiàng)目都存在日志系統(tǒng)a的函數(shù),需要將項(xiàng)目中出現(xiàn)的與日志系統(tǒng)a相關(guān)的函數(shù)進(jìn)行一一替換,其工作量非常大,造成人力、時(shí)間等的浪費(fèi)。
本實(shí)施例中所構(gòu)建的適配器層200的主要目的就是為了解決這個(gè)問題,所述適配器層200起到承上啟下的作用,對(duì)上層級(jí)的軟件層提供統(tǒng)一的接口訪問,對(duì)下層級(jí)的軟件層提供不同的接口實(shí)現(xiàn)。例如,將適配器層200具象為多個(gè)適配器,適配器對(duì)上層提供的接口進(jìn)行兩套適配,一套適配是將接口適配為日志系統(tǒng)a相關(guān)的函數(shù),另一套適配是將接口適配為日志系統(tǒng)b相關(guān)的函數(shù)。如此,則可以得到分別針對(duì)與日志系統(tǒng)a和日志系統(tǒng)b的兩套適配器。在后期若需要切換不同的適配器,例如若需要用到日志系統(tǒng)a,則直接用日志系統(tǒng)a的適配器,則整個(gè)系統(tǒng)中使用的就是日志系統(tǒng)a的打印函數(shù)。若需要用到日志系統(tǒng)b,由于適配器層200的存在,適配器層200對(duì)上層提供統(tǒng)一的接口,則只需要將適配器的初始化的地方由日志系統(tǒng)a的適配器切換為日志系統(tǒng)b的適配器,就可以完成整個(gè)日志系統(tǒng)的切換。
所述公共資源層300集成有多種公共資源,請(qǐng)參閱圖2,可選地,所述多種公共資源包括公用資源模塊310以及自定義庫320。所述公用資源模塊310配置成能夠被所述項(xiàng)目模塊層400所調(diào)用。將所有共用的公用資源模塊310進(jìn)行集中化的管理能夠有效地減少程序包的體積大小。并且,將所述應(yīng)用軟件所包括業(yè)務(wù)之間的不同的共有功能封裝為不同的共有功能模塊,即各業(yè)務(wù)可以共有的功能被抽離出來進(jìn)行封裝,從而達(dá)到降低每一個(gè)業(yè)務(wù)模塊410的開發(fā)工作量的目的。
此外,所述自定義庫320為自主編寫入的庫,所述自定義庫320通常是工具性質(zhì)的工具庫。例如,所述自定義庫320可以是一些圖形組件庫,或者是日志組件庫,或者是文件讀寫庫。存放在所述公共資源層300中的所有工具庫后續(xù)能夠被高等級(jí)層級(jí)的軟件層中的模塊所使用。這樣的設(shè)計(jì)可以確保高等級(jí)層級(jí)的軟件層能夠使用到低等級(jí)層級(jí)軟件層中的模塊的工具組件。所述公共資源層300僅能夠依賴于所述適配器層200。該公共資源層300的設(shè)置,可以降低每一業(yè)務(wù)的開發(fā)工作量,因此,提高了應(yīng)用軟件的開發(fā)效率。
所述項(xiàng)目模塊層400主要是作為項(xiàng)目的業(yè)務(wù)邏輯層,所述項(xiàng)目模塊層400依賴于所述公共資源層300。所述項(xiàng)目模塊層400能夠任意調(diào)用所述公共資源層300中的工具方法。
所述項(xiàng)目模塊層400主要是用來實(shí)現(xiàn)應(yīng)用軟件的業(yè)務(wù)邏輯的。所述項(xiàng)目模塊層400包括多個(gè)業(yè)務(wù)模塊410,各所述業(yè)務(wù)模塊410可通過所述適配器層200提供的接口調(diào)用所述公共資源層300中的多種所述公共資源來實(shí)現(xiàn)各自的業(yè)務(wù)邏輯。應(yīng)當(dāng)理解,當(dāng)執(zhí)行某一業(yè)務(wù)時(shí),該項(xiàng)目模塊層400可以調(diào)用所述公共資源層300的共有功能模塊,進(jìn)而該公共資源層300調(diào)用所述適配器層200提供的接口,從而與第三方的操作系統(tǒng)層進(jìn)行交互,以此來完成該業(yè)務(wù)的實(shí)現(xiàn)。
其中,所述多個(gè)業(yè)務(wù)模塊410中的每一業(yè)務(wù)模塊410唯一對(duì)應(yīng)所述應(yīng)用軟件的項(xiàng)目中的一業(yè)務(wù),各所述業(yè)務(wù)模塊410之間沒有引用關(guān)系。例如,一個(gè)項(xiàng)目中有購物業(yè)務(wù)模塊、商品詳情業(yè)務(wù)模塊、個(gè)人中心業(yè)務(wù)模塊等。這樣可以將上述這三個(gè)業(yè)務(wù)模塊單獨(dú)抽象成三個(gè)功能組件,這三個(gè)功能組件全部均依賴于所述公共資源層300。如此,這三個(gè)功能組件就能夠調(diào)用所述公共資源層300的相關(guān)資源和方法來實(shí)現(xiàn)真實(shí)的業(yè)務(wù)邏輯。
這樣的設(shè)計(jì)能夠有效地確保功能業(yè)務(wù)邏輯之間的隔離,使得所述購物業(yè)務(wù)模塊、所述商品詳情業(yè)務(wù)模塊以及所述個(gè)人中心業(yè)務(wù)模塊成為三個(gè)獨(dú)立的模塊,從而三者之間沒有強(qiáng)耦合關(guān)系。以此達(dá)到不同層級(jí)之間以及同層級(jí)的各模塊之間的高內(nèi)聚低耦合的目的。并且,由于各業(yè)務(wù)模塊410之間具有的高內(nèi)聚低耦合的特性,因此,當(dāng)開發(fā)人員更改某一業(yè)務(wù)模塊410的軟件代碼時(shí),無需變更其他業(yè)務(wù)模塊410的軟件代碼。
可選地,在本實(shí)施例中,開發(fā)好的相應(yīng)的業(yè)務(wù)模塊410被編譯為動(dòng)態(tài)庫,因此,在終端的應(yīng)用軟件中的某一業(yè)務(wù)模塊410需要更新時(shí),則可以直接通過相應(yīng)的下載平臺(tái)下載到終端即可,而無需將整個(gè)應(yīng)用軟件全部下載到終端中進(jìn)行更新。其中,相應(yīng)的下載平臺(tái)可以是應(yīng)用軟件的開發(fā)商所提供的專有下載平臺(tái),或者是終端的生產(chǎn)廠商所提供的專有下載平臺(tái),對(duì)此在本實(shí)施例中并不作具體限制。
所述項(xiàng)目入口殼層500為項(xiàng)目的入口層,所述項(xiàng)目入口殼層500是一個(gè)空殼層,主要是依賴于所述項(xiàng)目模塊層400。所述項(xiàng)目入口殼層500將所述項(xiàng)目模塊層400中的各業(yè)務(wù)模塊410進(jìn)行集成和組件。并且,所述項(xiàng)目入口殼層500的另外一個(gè)功能是對(duì)項(xiàng)目中用到的相關(guān)工具及方法進(jìn)行初始化。這樣的設(shè)計(jì)能夠?yàn)樗鲰?xiàng)目模塊層400提供一個(gè)良好的運(yùn)行環(huán)境,確保所述項(xiàng)目模塊層400能夠有效地運(yùn)行。
本發(fā)明實(shí)施例提供的軟件框架,通過上述的層級(jí)劃分,可以將整個(gè)軟件設(shè)計(jì)劃分為五大層級(jí)。每個(gè)層級(jí)的軟件層之間僅僅有縱向依賴關(guān)系而沒有橫向依賴關(guān)系,即每個(gè)層級(jí)的軟件層僅能引用與其相鄰的下一層級(jí)的軟件層,而同層級(jí)的模塊之間不能相互引用。這樣的層級(jí)劃分方式較為明確,并且每個(gè)層級(jí)的軟件層的功能定義清晰明了,極大地提升了軟件的后期可維護(hù)性和可擴(kuò)展性。軟件層的層級(jí)依賴關(guān)系簡(jiǎn)單明了,實(shí)現(xiàn)了各個(gè)層級(jí)模塊之間的高內(nèi)聚低耦合的目標(biāo),是一個(gè)高可復(fù)用的優(yōu)秀的軟件框架設(shè)計(jì)。
本發(fā)明另一較佳實(shí)施例還提供了一種軟件框架設(shè)計(jì)方法,適用于運(yùn)行在終端的應(yīng)用軟件。請(qǐng)參閱圖3,為本發(fā)明較佳實(shí)施例提供的一種軟件框架設(shè)計(jì)方法的流程圖。所應(yīng)說明的是,本發(fā)明提供的方法不以圖3及以下所述的具體順序?yàn)橄拗?。下面將?duì)圖3中示出的各步驟進(jìn)行詳細(xì)說明。
步驟s101,集成所述應(yīng)用軟件的項(xiàng)目所需的第三方庫,封裝所述應(yīng)用軟件所適用操作系統(tǒng)層對(duì)應(yīng)的、所述應(yīng)用軟件所包括業(yè)務(wù)所需的統(tǒng)一的第三方庫訪問接口,以構(gòu)建軟件框架的依賴殼層100。
步驟s103,對(duì)所述依賴殼層100進(jìn)行適配操作,對(duì)所述依賴殼層100提供接口實(shí)現(xiàn),且向所述項(xiàng)目模塊層400提供統(tǒng)一的接口訪問,以構(gòu)建所述軟件框架的適配器層200。
步驟s105,對(duì)多種公共資源進(jìn)行存儲(chǔ),且對(duì)所述多種公共資源進(jìn)行集中化管理,以構(gòu)建所述軟件框架的公共資源層300。
步驟s107,將所述應(yīng)用軟件的項(xiàng)目業(yè)務(wù)劃分為多個(gè)業(yè)務(wù)模塊410,利用各所述業(yè)務(wù)模塊410通過所述適配器層200提供的接口調(diào)用所述公共資源層300中的多種所述公共資源來實(shí)現(xiàn)各自的業(yè)務(wù)邏輯,以構(gòu)建所述軟件框架的項(xiàng)目模塊層400。
步驟s109,對(duì)所述項(xiàng)目模塊層400中的各所述業(yè)務(wù)模塊410進(jìn)行集成和組件,且對(duì)所述項(xiàng)目模塊層400中的業(yè)務(wù)模塊410所調(diào)用的所述公共資源進(jìn)行初始化,以構(gòu)建所述軟件框架的項(xiàng)目入口殼層500。
可選地,在本實(shí)施例中,所述多種公共資源包括自定義庫320以及多種公用資源模塊310,所述自定義庫320為工具性質(zhì)的工具庫。請(qǐng)參閱圖4,所述軟件框架設(shè)計(jì)方法還包括:
步驟s201,將所述多個(gè)公用資源模塊310配置成能夠被所述項(xiàng)目模塊層400中的各所述業(yè)務(wù)模塊410所調(diào)用。
步驟s203,將所述工具庫配置為能夠被所述項(xiàng)目模塊層400中的各所述業(yè)務(wù)模塊410所調(diào)用。
綜上所述,本發(fā)明實(shí)施例提供的軟件框架及軟件框架設(shè)計(jì)方法,對(duì)軟件框架進(jìn)行了層級(jí)劃分,層級(jí)劃分方式明確,且每個(gè)層級(jí)的軟件層的功能定義清晰明了。層級(jí)之間的依賴關(guān)系簡(jiǎn)單明了,實(shí)現(xiàn)了各個(gè)層級(jí)模塊之間的高內(nèi)聚低耦合的目標(biāo),極大地提高了軟件的后期可維護(hù)性和擴(kuò)展性,是一個(gè)高可復(fù)用的優(yōu)秀架構(gòu)設(shè)計(jì)。
在本申請(qǐng)所提供的實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法,也可以通過其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的實(shí)施例的裝置、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)方式中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。應(yīng)注意到:相似的標(biāo)號(hào)和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個(gè)附圖中被定義,則在隨后的附圖中不需要對(duì)其進(jìn)行進(jìn)一步定義和解釋。