主頁 > 軟體設計 > 基于基因資料的神經網路模式分類研究

基于基因資料的神經網路模式分類研究

2020-10-01 21:47:59 軟體設計

1.1引言

近年來,隨著基因技術在醫學中的廣泛應用,基于基因資料的計算機輔助診斷迅速發展起來,計算機輔助診斷可以提高醫生診斷的準確率,協助醫生對病人病因進行判斷和識別并有助于預防疾病,在特征提取的基礎上進行模式分類是基于基因的計算機輔助診斷的重要步驟,如人工神經網路等分類方法已廣泛的應用于疾病診斷及預防系統之中,

人工神經網路的研究已有半個多世紀的歷史,起源于20世紀40年代,20世紀80年代開始蓬勃發展,如今出現了研究的新熱潮.人工神經網路的研究主要是直接模擬人腦的結構和功能,具有生物神經網路的某些特性,在自學習、自組織、聯想、及容錯方面具有較強的能力,能用于聯想、識別和決策.概率神經網路是20世紀90年代初提出來的一個分類網路,它以貝葉決策和密度函式估計為理論基礎,廣泛應用于模式識別和模式分類領域.因此,研究概率神經網路的模式識別具有重要的理論意義和應用前景,

1.2人工神經網路的發展及研究現狀

人工神經網路(Artificial Neural Network),亦稱為神經網路(Neural Networks,NN),是由大量神經處理單元(神經元Neurons)廣泛互連而成的網路,是對人腦的抽象、簡化和模擬,反映人腦的基本特征,人工神經網路的研究是從人腦的生理結構出發來研究人的智能行為,模擬人腦資訊處理的功能,

人工神經網路能模擬人類大腦的某些功能和思維方式,從而更好地解決模式識別、組合優化和智能控制等一系列本質上非計算的問題,它有如下優點:具有很強的自學習和自適應能力,可以處理不確定或不知道的系統;具有很強的資訊綜合能力,能同時處理定量和定性的資訊,能很好地協調多種輸入資訊關系;具有很強的魯棒性和容錯性,因為資訊是分布貯于網路內的神經元中;采用并行處理方法,使得計算快速;可以充分逼近任意復雜的非線性關系等,經過近半個世紀的發展,神經網路理論已在許多研究領域取得了廣泛的成功,神經網路和其它演算法的結合和交叉,構造混合神經網路模型,是當前神經網路研究的主要趨勢,如神經網路和模糊邏輯結合,建立模糊神經網路;將混沌理論和神經網路結合建立混沌神經網路;將優化演算法和神經網路結合,利用優化演算法優化神經網路的結構或權值;將小波分析和神經網路結合建立小波神經網路;貝葉斯學習以及粗糙集理論和神經網路結合等,都是當前神經網路研究的熱點,

到目前為止,神經網路的型別已多達數百種,神經網路的理論研究和實際應用有了引人注目的發展,神經網路在向縱深發展的同時,也在向模糊技術、進化計算等智能方法相結合的方向上發展,并廣泛應用于模式識別等多個領域,尤其是在模式識別方面,神經網路所表現出來的能力超過了包括統計方法、靜態方法和人工智能方法在內的傳統方法,

1.3 研究意義

神經網路通俗來講,就是人們平時所說的“人工智能”,這個詞是神經網路在人類大腦上歷史基礎的結果,神經網路是基于人類大腦作業的簡化模型-這就解釋了與人腦相關的神經網路術語,例如,神經網路是經過訓練的,而訓練的程序被稱為"學習",神經網路,例如多層的感知器,甚至使用被稱為"神經元"的內部結構,神經細胞由此接收輸入并且以不同的強度發射信號,人工神經元網路是生物神經網路的一種模擬和近似,它從結構、實作機理和功能上模擬生物 神經網路,從系統觀點看,人工神經元網路是由大量神經元通過極其豐富和完善的連接而構 成的自適應非線性動態系統,

模式識別是一種從大量資訊和資料出發,在專家經驗和已有認識的基礎上,利用計算機和數學推理的方法對形狀、模式、曲線、數字、字符格式和圖形自動完成識別的程序,模式識別包括相互關聯的兩個階段,即學習階段和實作階段,前者是對樣本進行特征選擇,尋找分類的規律,后者是根據分類規律對未知樣本集進行分類和識別,廣義的模式識別屬計算機科學中智能模擬的研究范疇,內容非常廣泛,包括聲音和語言識別、文字識別、指紋識別、聲納信號和地震信號分析、照片圖片分析、化學模式識別等等,在現實世界中,人類發出的聲音、印刷或者書寫出的文字、眼睛看到的風景,以及測量器輸出的信號等,以各種各樣的模式存在著,如果計算機能夠聽出并且分辨出這些模式,就能夠簡單地輸入到計算機,并且可以送到工專業人員的作業負擔,把模式輸入到計算機后,通過一系列的處理,就可對其進行識別,

在模式識別中有很多方法:統計模式識別方法,句法結構模式識別,人工神經網路模式識別,前面兩者在實際應用程序中都顯示出各自的局限性,而人工神經網路的研究起源于對生物神經系統的研究,采用反向傳播(BP)網路,具有良好的模式分類能力,引入模糊邏輯理論,能較好地處理一些資料的不確定性問題,因此它對待識別的物件不要求有太多的分析與了解,具有一定的智能化處理的特點,由于具有良好的容錯能力、分類能力強、并行處理能力和自學習能力,因而,采用神經網路識別方式是一種很好的選擇,

傳統的分類方法對于同類相聚,異類分離比較有優勢,但客觀世界中許多事物在樣本空間中的區域分割曲面非常復雜,相近的樣本可能屬于不同的類,而遠離的樣本可能屬于同一類1,模式是對某些感興趣的客體的定量描述或結構描述,模式類是具有某些共同特征的模式的集合,模式分類可分為兩種型別,分類和聚類,分類是在類別知識等導師資訊的指導下,將待識別的輸入模式分配到各自的模式類中去,聚類是無導師的分類方法,它是將相似的模式樣本劃歸為一類,而將不相似的分離開,實作了模式樣本類內相似性和類間分離性,通過聚類,可以發現原始樣本的分布特性,

神經網路對外界的輸入樣本具有很強的識別能力,可以發現輸入樣本自身的聯系和規律以及輸入樣本和期望輸出之間的非線性規律,因此在模式分類方面具有傳統分類方法無法比擬的優點,人工神經網路在模式分類方面提出了大量了網路模型,發現了許多學習演算法,

通常所說的神經網路結構,主要指它的連接方式,從拓撲結構上考慮,神經網路屬于以神經元為節點,以節點間的有向連接為邊的一種圖,其結構大體上可分為層狀和網狀兩大類:層狀結構的神經網路是由若干層組成,每層中有一定數量的神經元,下相鄰層中的神經元為單向連接,同層內的神經元不能連接:在網狀結構的神經網路中,任何兩個神經元之間都可能雙向連接,一般常見的神經網路有如下幾種網路結構,

前向網路(前饋網路),前向網路通常包括許多層,其特點是只有前后相鄰兩層之間的神經元存在相互連接,各神經元之間沒有反饋,每個神經元可以從前一層接收多個輸入,并只有一個輸入送給下一層的各神經元,三層前向網路分為輸入層、隱含層和輸出層,在前向網路中有計算功能的節點稱為計算單元,而輸入節點無計算功能,

反饋網路,反饋網路從輸入層到輸出層有反饋,即每個節點同時接收外來輸入和來自其它節點的反饋輸入,其中也包括神經元輸出信號引回到本身輸入成的自環反,這種反網路的節點都是一個計元,

相互結合型網路,這種網路在任意兩個神經元之間都可能有連接,Hopfield網路和Boltzman機均屬于這種型別,在無反饋的前向網路中,信號一旦通過某個神經元,該神經元的處理程序就結束了,而在相互結合網路中,信號要在神經元之間反復傳遞,網路處于一種不斷改變狀態的動態之中,從某初試狀態開始,經過若干次的變化,才會達到某種平衡狀態,

3.1.2神經網路的學習和訓練

人腦中有一個典型的神經元通過許多樹突的精細結構,收集來自其它神經元的資訊,當它收到的興奮輸入足夠大于它的抑制輸入時,神經元將通過軸突發出電話性脈沖,經突觸結構影響其它的神經元,這便發生了學習行為,因此,可以認為神經網路學習的本質特征在于神經細胞特殊的突觸結構所具有的可塑性連接,而如何調整連接權值就構成了不同的學習規則,學習規則就是修改神經網路的權值和偏置值的方法和程序(也稱這種程序是訓練演算法),其目的是為了訓練網路來完成某些作業,現在有很多型別的神經網路學習規則,如Hebb學習規則、Delta學習規則、Wdirow-Hoff學習規則等,大致可以將其分為有監督學習和無監督學習兩大類,

有監督學習,為了使神經網路在實際應用中能解決各種問題,必須對它進行訓練,就是從應用環境中選出一些樣本資料,通過不斷地調整權矩陣,直到得到合適的輸入輸出關系為止,這個程序就是對神經網路的訓練程序,這種訓練程序需要外界監督,提供訓練資料(樣本資料),權值的調整是基于獎懲式的規則:當網路的輸出朝正確的方向變化時,調整權值以強化(獎勵)此方向的變化;而當網路的輸出朝著錯誤方向變化時,權值將朝著榷訓(懲罰)的方向變化,這種學習方法雖然簡單,并能夠根據訓練資料準確地調整出所需的權矩陣,但它也同時要求訓練資料能夠代表實際的應用環境,并且為了適應環境的變化,需要重新調整權值,這樣當學到新知識時,就容易遺忘舊的知識,

無監督學習,無監督學習的訓練資料集中,只有輸入而沒有目標輸出,訓練程序中神經網路將自動地提取各輸入資料的特征,并將其分成若干類,經過訓練好的網路能夠識別訓練資料集以外的新的輸入類別,并相應獲得不同的輸出,

3.2 SOM神經網路

SOM網路是Kohonen于1981年提出的,它引入了網路的拓撲結構,并在這種拓撲結構上進一步引入變化鄰域概念來模擬生物神經網路中的側抑制現象,從而實作網路的自組織特性,SOM網路的無監督學習方式更類似于人類大腦中生物神經網路的學習,其重要特點是通過自動尋找樣本中的內在規律和本質屬性,自組織、自適應地改變網路引數和結構,

自組織映射演算法的基本目標是尋找較小的原型集來存盤一個大的輸入集,而這些原型集能夠提供對輸入空間的良好近似,從分類角度說,自組織映射通過尋找最優參考向量集合來對輸入模式進行分類,這個原型集就是自組織網路的權值向量,因此特征映射提供了對輸入空間的良好近似,

SOM網路能夠根據其學習規則對輸入的模式自動進行分類,即在非監督的情況下,對輸入模式進行自組織學習,通過反復地調整連接著輸入和輸出的權值向量,最終使得這些權值反映出輸入樣本之間的相互距離關系,并在競爭層中將分類結果表示出來,當外界輸入不同的樣本到SOM網路中,一開始時輸入樣本引起輸出興奮的位置各不相同,但通過網路自組織后會形成一些輸出群,它們分別代表了輸入樣本的分布,反映了輸入樣本的圖形分布特征,

SOM網路使輸入樣本通過競爭學習后,相似的輸入靠得比較近,不同的分得比較開,以此將一些無規則的輸入自動排開,在連接權的調整程序中,使得權值的分布與輸入樣本的概率密度分布相似,所以SOM網路可以作為一種樣本特征檢測器,在樣本排序、樣本分類以及樣本檢測方面有廣泛地應用,

SOM 網屬于自組織映射神經網路 SOM神經網路接收外界的輸入模式時會分為不同的對應區域各區域對不同的輸入模式會有不同的回應特征利用這個特征可以對輸入模式進行分類,

5.2 BP神經網路建模

為了降低神經網路的規模和提高網路的性能,我們必須對原始采樣資料進行預處理和特征提取,其中后者非常關鍵,我們采用在神經網路模式識別系統中應用很廣泛的PCA主分量分析方法,而神經網路分類器的設計則是最重要的,我們采用BP多層前饋網路實作,

5.2.1 BP神經網路演算法設計與實作

經過PCA主分量分析處理后的特征維數取為10,故神經網路的輸入層節點數為10,輸出層節點數為3,網路期望輸出值按輸入正面左向時設定為1000,

為了區分分類結果,區分邊界定義為0.9即當三個節點輸出有一個大于0.9時認定為該類,沒有一個大于則認定是假幣,拒絕接收,確定隱層節點數時,先根據經驗公式(其中m為隱層節點數,n為輸入層節點數,為輸出節點數)大概先確定初值為5,然后等后面訓練比較確定最佳值,

5.2.1.1 神經網路引數的選定

網路激勵函式采用Sigmoid函式,訓練學習率初始值經考慮選定為0.1,動量系數選用0.95,最大訓練次數設定為1000次,系統誤差小于時,認為網路收斂,

net.trainParam.show = 1;

net.trainParam.lr = 0.3;

net.trainParam.mc = 0.95;

net.trainParam.mem_reduc = 10;

net.trainParam.epochs = 1000;

net.trainParam.goal = 1e-6;

net.trainParam.min_grad = 1e-20;

net.trainParam.time = inf;

以上是BP神經網路的初始化引數的設定,

5.2.1.2 樣本訓練

試驗中采用基因資料的采樣資料作為訓練樣本,對網路進行訓練,借助于MATLAB,用改進的BP演算法對以上樣本進行訓練,用-l~l之間的亂數初始化權重,對隱層節點數取2~10之間的數進行試驗,得到不同的訓練次數如下表所示:

NodeNum = 2; % 隱層節點數

TypeNum = 3; % 輸出維數

p1 = xn_train; % 訓練輸入

t1 = dn_train; % 訓練輸出

Epochs = 1000; % 訓練次數

P = xn_test; % 測驗輸入

T = dn_test; % 測驗輸出(真實值)

在這里,我們修改系統的隱層節點數,從2修改到10,我們做對比,

表5-1 不同隱層節點數時網路訓練次數表

隱層

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

次數

>200

33

42

34

21

58

16

13

30

19

33

16

20

20

29

36

由該表可知,隱層節點數為12訓練次數較少,而且從其訓練誤差曲線(用MATLAB畫出如圖5.1)情況來看也比較好,所以最終確定隱層節點數為12,那么最后的網路結構也確定下來即1Ox8x3,即網路容量為2400,

根據已知條件,給定的資料中,已知一組20個樣本具有癌癥特性,而另一組20個樣本具有正常的特性,現在我們要通過神經網路模型將第三組模型進行訓練,做模式分類從而來判斷其具有的特性,

我們首先將前20組資料歸為一個陣列,中間20個歸為一個陣列,最后20個歸為一個陣列,通過BP神經網路演算法對三類進行識別分類,

我們分別以癌癥患者的資料和正常人的基因資料為訓練目標,對第三組資料進行測驗,分別得到如下的結果,

訓練樣本(癌癥病人):

圖5-1 訓練400次

圖5-2 訓練100次

圖5-3 訓練50次

訓練樣本(正常人):

圖5-4 訓練400次

圖5-5 訓練100次

圖5-6 訓練50次

通過以上分析,我們可以知道第三組資料型別可能為正常人基因,

5.3小結

本章研究并設計實作了一個具體的模式識別系統,即人體基因資料的模式分類,在深入分析、設計其硬體構成的基礎上,采用BP神經網路較好地實作了基因資料的識別,開發的樣機運行結果良好,有較高的基因識別率,表明本文所研究與開發的成果有較好的理論意義和實用意義,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/146441.html

標籤:其他

上一篇:四元數、歐拉角學習筆記&個人理解

下一篇:玩轉華為云,ModelArts深度學習建模最全搭建手冊

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 面試突擊第一季,第二季,第三季

    第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......

    uj5u.com 2020-09-10 05:35:24 more
  • 第三單元作業總結

    1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......

    uj5u.com 2020-09-10 05:35:41 more
  • 北航OO(2020)第四單元博客作業暨課程總結博客

    北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......

    uj5u.com 2020-09-10 05:35:48 more
  • BUAA_OO_第四單元

    一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......

    uj5u.com 2020-09-10 05:35:54 more
  • 6.1邏輯運算子

    邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......

    uj5u.com 2020-09-10 05:35:56 more
  • BUAAOO 第四單元 & 課程總結

    1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......

    uj5u.com 2020-09-10 05:36:06 more
  • 談談我對C# 多型的理解

    面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......

    uj5u.com 2020-09-10 05:36:09 more
  • Python 資料驅動工具:DDT

    背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......

    uj5u.com 2020-09-10 05:36:13 more
  • Python里面的xlrd模塊詳解

    那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......

    uj5u.com 2020-09-10 05:36:28 more
  • 當我們創建HashMap時,底層到底做了什么?

    jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......

    uj5u.com 2020-09-10 05:36:38 more
最新发布
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:20:47 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:20:25 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:20:17 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:20:10 more
  • 【中介者設計模式詳解】C/Java/JS/Go/Python/TS不同語言實作

    * 中介者模式是一種行為型設計模式,它可以用來減少類之間的直接依賴關系,
    * 將物件之間的通信封裝到一個中介者物件中,從而使得各個物件之間的關系更加松散。
    * 在中介者模式中,物件之間不再直接相互互動,而是通過中介者來中轉訊息。 ......

    uj5u.com 2023-04-20 08:19:44 more
  • 露天煤礦現場調研和交流案例分享

    他們集團的資訊化公司及研究院在一個礦區正在做智能礦山的統一平臺的 試點,專案投資大概1億,包括了礦山的各方面的內容,顯示得我們這次交流有點多余。他們2年前開始做智能礦山的規劃,有很多煤礦行業專家的加持,他們的描述是非常完美,但是去年底應該上線的平臺,現在還沒有看到影子。他們確實有很多場景需求,但是被... ......

    uj5u.com 2023-04-20 08:19:07 more
  • 《社區人員管理》實戰案例設計&個人案例分享

    設計是一個讓人夢想成真程序,開始編碼、測驗、除錯之前進行需求分析和架構設計,才能保證關鍵方面都做正確 ......

    uj5u.com 2023-04-20 08:18:57 more
  • 軟體架構生態化-多角色交付的探索實踐

    作為一個技術架構師,不僅僅要緊跟行業技術趨勢,還要結合研發團隊現狀及痛點,探索新的交付方案。在日常中,你是否遇到如下問題 “ 業務需求排期長研發是瓶頸;非研發角色感受不到研發技改提效的變化;引入ISV 團隊又擔心質量和安全,培訓周期長“等等,基于此我們探索了一種新的技術體系及交付方案來解決如上問題。 ......

    uj5u.com 2023-04-20 08:18:49 more
  • 05單件模式

    #經典的單件模式 public class Singleton { private static Singleton uniqueInstance; //一個靜態變數持有Singleton類的唯一實體。 // 其他有用的實體變數寫在這里 //構造器宣告為私有,只有Singleton可以實體化這個類! ......

    uj5u.com 2023-04-19 08:42:51 more
  • 【架構與設計】常見微服務分層架構的區別和落地實踐

    軟體工程的方方面面都遵循一個最基本的道理:沒有銀彈,架構分層模型更是如此,每一種都有各自優缺點,所以請根據不同的業務場景,并遵循簡單、可演進這兩個重要的架構原則選擇合適的架構分層模型即可。 ......

    uj5u.com 2023-04-19 08:42:41 more