注釋
Java有兩種注釋方法。"/* This is a comment */" 和 "http:// This is a comment"
第一種應(yīng)該被用到寫(xiě)JavaDoc上,并且都用"/**"開(kāi)頭。
第二種適合于在做部分代碼的注釋?zhuān)贿m合做非常短內(nèi)容的注釋。
常見(jiàn)的設(shè)計(jì)模式有哪些?
根據(jù)我在實(shí)際開(kāi)發(fā)中的經(jīng)驗(yàn),經(jīng)常用的設(shè)計(jì)模式有:工廠(chǎng)模式、單例模式、門(mén)面模式、策略模式、適配器模式、建造者模式、觀(guān)察者模式。
在我的頭條文章中都有針對(duì)這些模式的總結(jié),歡迎各位老鐵關(guān)注查看。這里就進(jìn)行概括說(shuō)一下:
工廠(chǎng)模式:
工廠(chǎng)模式核心是封裝對(duì)象的創(chuàng)建接口,將new對(duì)象的操作封裝起來(lái),方便創(chuàng)建使用、管理對(duì)象。
工廠(chǎng)模式適用于:
在編碼時(shí)不能預(yù)見(jiàn)需要?jiǎng)?chuàng)建哪種類(lèi)的實(shí)例。
電銷(xiāo)外呼程序不應(yīng)依賴(lài)于產(chǎn)品類(lèi)實(shí)例如何被創(chuàng)建、組合和表達(dá)的細(xì)節(jié)
分為三類(lèi):
簡(jiǎn)單工廠(chǎng)模式Simple Factory:不利于產(chǎn)生系列產(chǎn)品;
工廠(chǎng)方法模式Factory Method:又稱(chēng)為多形性工廠(chǎng);
抽象工廠(chǎng)模式Abstract Factory:又稱(chēng)為工具箱,產(chǎn)生產(chǎn)品族,但不利于產(chǎn)生新的產(chǎn)品;
單例模式
基本概念:保證一個(gè)類(lèi)僅有一個(gè)實(shí)例源碼,并提供一個(gè)訪(fǎng)問(wèn)它的全局訪(fǎng)問(wèn)點(diǎn)。
單例模式在實(shí)際的開(kāi)發(fā)過(guò)程中,使用最常見(jiàn)。針對(duì)頻繁使用的類(lèi),我們可以將它定義為一個(gè)單例來(lái)避免類(lèi)對(duì)象頻繁的創(chuàng)建銷(xiāo)毀,提高效率。單例模式有以下特點(diǎn):
單例類(lèi)只能有一個(gè)實(shí)例
單例類(lèi)必須自己創(chuàng)建自己的唯一實(shí)例
單例類(lèi)給其它對(duì)象提供這一實(shí)例
單例模式的實(shí)現(xiàn)方式 圍繞單例模式的特點(diǎn)源碼,一般常見(jiàn)的實(shí)現(xiàn)方式有以下幾種:
懶漢式
餓漢式
Double Check Lock(DCL)雙重檢查鎖定
靜態(tài)內(nèi)部類(lèi)實(shí)現(xiàn)
枚舉單例
記錄式單例
門(mén)面模式
外觀(guān)模式
外觀(guān)模式(Facade模式)也叫門(mén)面模式,通過(guò)外觀(guān)類(lèi)的包裝,將復(fù)雜的電銷(xiāo)外呼程序通過(guò)封裝提供簡(jiǎn)單的接口供客戶(hù)端使用,以便降低客戶(hù)端的使用復(fù)雜度。外觀(guān)模式Facade類(lèi)提供一個(gè)上層接口,集成封裝了各個(gè)子電銷(xiāo)外呼程序的方法供客戶(hù)端使用。客戶(hù)端只需要直接與外觀(guān)角色交互,客戶(hù)端與子電銷(xiāo)外呼程序之間的復(fù)雜關(guān)系由外觀(guān)角色來(lái)實(shí)現(xiàn),從而降低了電銷(xiāo)外呼程序的耦合度。
策略模式
策略模式(StrategyPattern)也成政策模式,通過(guò)定義抽象類(lèi)或基類(lèi)的策略,來(lái)生成不同實(shí)現(xiàn)的算法家族,以便各個(gè)具體策略類(lèi)(ConcreteStrategy)能夠進(jìn)行替換,降低耦合。
適配器模式:
基本概念:適配器模式把一個(gè)類(lèi)的接口變換成客戶(hù)端所期待的另一種接口,從而使原本因接口不匹配而無(wú)法在一起工作的兩個(gè)類(lèi)能夠在一起工作。
適配器模式的用途:
用電器做例子,筆記本電腦的插頭一般都是三相的,即除了陽(yáng)極、陰極外,還有一個(gè)地極。而有些地方的電源插座卻只有兩極,沒(méi)有地極。電源插座與筆記本電腦的電源插頭不匹配使得筆記本電腦無(wú)法使用。這時(shí)候一個(gè)三相到兩相的轉(zhuǎn)換器(適配器)就能解決此問(wèn)題,而這正像是本模式所做的事情。
適配器模式的結(jié)構(gòu):適配器模式有類(lèi)適配器模式和對(duì)象適配器模式兩種不同的形式。
建造者模式
基本概念:是一種對(duì)象構(gòu)建的設(shè)計(jì)模式,它可以將復(fù)雜對(duì)象的建造過(guò)程抽象出來(lái)(抽象類(lèi)別),使這個(gè)抽象過(guò)程的不同實(shí)現(xiàn)方法可以構(gòu)造出不同表現(xiàn)(屬性)的對(duì)象。
Builder模式是一步一步創(chuàng)建一個(gè)復(fù)雜的對(duì)象,它允許用戶(hù)可以只通過(guò)指定復(fù)雜對(duì)象的類(lèi)型和內(nèi)容就可以構(gòu)建它們。用戶(hù)不知道內(nèi)部的具體構(gòu)建細(xì)節(jié)。Builder模式是非常類(lèi)似抽象工廠(chǎng)模式,細(xì)微的區(qū)別大概只有在反復(fù)使用中才能體會(huì)到。
觀(guān)察者模式
基本概念:觀(guān)察者模式定義了一種一對(duì)多的依賴(lài)關(guān)系,讓多個(gè)觀(guān)察者對(duì)象同時(shí)監(jiān)聽(tīng)某一主題對(duì)象。這個(gè)主題對(duì)象在狀態(tài)發(fā)生變化時(shí),會(huì)通知所有觀(guān)察者對(duì)象,使它們能夠自動(dòng)更新自己。觀(guān)察者模式又叫發(fā)布-訂閱(Publish/Subscribe)模式。
以上,就是我的理解。歡迎各位溝通交流。