程序設(shè)計案例_第1頁
程序設(shè)計案例_第2頁
程序設(shè)計案例_第3頁
程序設(shè)計案例_第4頁
程序設(shè)計案例_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

內(nèi)容提1.內(nèi)容提1.2.3.4.唐大仕211寫好程序的經(jīng)寫好程序的經(jīng)唐大仕4寫好程寫好程5唐大仕5寫好“單詞寫好“單詞大小寫:變量小寫,方法名小寫、類名大長度:單個字母的變量只能在三五行內(nèi)含義:用特定少用temp,it,do等沒有意義界面組件用匈牙利命名法(如唐大仕6例:使用中間變7例:使用中間變7唐大仕7例:使用中間變例:使用中間變8唐大仕8寫好“單詞”(續(xù)寫好“單詞”(續(xù)不要從天上掉下來一常量用final或字符串常如java.util.Propertiesload()9唐大仕9寫好“語句簡單語寫好“語句簡單語寫好賦值語分支語使用循環(huán)語變量局部唐大仕例:使用衛(wèi)語句(例:使用衛(wèi)語句(Guard唐大仕寫好“函數(shù)寫好“函數(shù)使用衛(wèi)語句降低還有try-catch的正確使用、Lambda表達式的使語句不要太層次不要太改變?nèi)绻珡碗s了,說明思路還不夠清唐大仕例唐大仕例唐大仕例唐大仕例唐大仕寫好“對象寫好“對象高內(nèi)聚、低耦不要太多的繼承與實現(xiàn)關(guān)聯(lián):使用構(gòu)造方法或普通更復雜的:使用設(shè)計模式唐大仕“定律寫簡單程代“定律寫簡單程代碼永遠不要寫兩推論:永遠不要copy代唐大仕例唐大仕例唐大仕例唐大仕例唐大仕重復的代碼:提煉重復的代碼:提煉成函唐大仕編碼規(guī)Java語言編碼規(guī)Java語言編碼規(guī)范(JavaCode/technetwork/java/codeconv-唐大仕22重唐重唐大仕重構(gòu)重構(gòu)通過調(diào)整程序代碼改善軟件的質(zhì)量、性能,使其程序的設(shè)計模式和架構(gòu)更趨理,唐大仕使用重點使用重點右鍵,Refactor(重構(gòu) 重命名(寫好單詞 Method提取方法(寫好函數(shù)唐大仕一本好一本好Refactoring:ImprovetheDesignofExistingMartinFowler唐大仕代碼的壞味代碼的壞味 名字不清 取好名代碼重 代碼永遠不要寫第二代碼過 寫簡單代碼:提煉函代碼層次過 唐大仕壞味道列???????????1、壞味道列???????????1、 (重復代碼2、LongMethod過長函數(shù)3、LargeClass過大類4、LongParameterList過長參數(shù)列)5、DivergentChange發(fā)散式變化)6、ShotgunSurgy(散彈式修改)8、(數(shù)據(jù)泥團9、Obsession(基本型別偏執(zhí)10、SwitchStatements(Switch驚悚現(xiàn)身11、 (平行繼承體系唐大仕壞味道列表???????????壞味道列表???????????12、LazyClass(冗贅類13、SpeculativeGenerality夸夸其談未來性)14、TemporaryField(令人迷惑的暫時值域)15、MessageChains(過度耦合的消息鏈)16、MiddleMan(中間人17、(狎昵關(guān)系18、19、(異曲同工的類ClasseswithDifferentLibraryClass不完整的程序類庫20、DataClass(單純的數(shù)據(jù)類21、RefusedBequest(被拒絕的遺贈唐大仕如何保證代碼正確使用如何保證代碼正確使用JUnit測重構(gòu)以后仍然要保證測試是通在Eclipse中,new—唐大仕33設(shè)計模設(shè)計模唐大仕設(shè)計模設(shè)計模式設(shè)計模設(shè)計模式其中,最核心的思想就是“適應(yīng)變化唐大仕一本好GoF一本好GoF唐大仕更易讀的更易讀的唐大仕GoF設(shè)計模式的GoF設(shè)計模式的分這些設(shè)計經(jīng)驗可以被重用,但不是簡單的代碼CreationalStructuralBehavioral唐大仕經(jīng)典的23種模唐大仕經(jīng)典的23種模唐大仕類工廠方法(Factory適配器解釋器模板方法(Template對抽象工廠(Abstract原型(Prototype)責任鏈(Chainof設(shè)計模式的原設(shè)計模式的原盡量不要去修改原有的類,但卻可以擴展現(xiàn)有的功子類必須能夠替換它們的基客戶端不應(yīng)該依賴它不需要的接口;一個類對另一個類的依賴應(yīng)該建立在最小的接唐大仕JDK中的設(shè)計模JDK中的設(shè)計模/questions/1673841/examples-of-design-唐大仕創(chuàng)建模式Singleton(單例創(chuàng)建模式Singleton(單例作用:保證類只有一個實例;只允許一個實例。這比static量要唐大仕Factory(靜態(tài)工廠)作Factory(靜態(tài)工廠)作用(1)代替構(gòu)造函數(shù)創(chuàng)建對象(2)簡單來說,按照需求返回一個類型的實例唐大仕AbstractAbstractFactoryAbstractAbstractFactory(抽象工廠)作用創(chuàng)建一組唐大仕結(jié)構(gòu)Adapter(適配結(jié)構(gòu)Adapter(適配器作用:使不兼容的接口把一個接口或是類變成另外一種唐大仕Composite(組合Composite(組合)作用:一致地對待組合對象和獨立對讓使用者把單獨的對象和組合對象混用唐大仕Decorator(裝飾器)作用Decorator(裝飾器)作用為類添加新的功能;防止類繼承帶來的爆炸式為一個對象動態(tài)的加上一系列的動作,而不需要因為這些動作的不同而產(chǎn)生唐大仕行為Observer(觀察行為Observer(觀察者作用:通知對象狀態(tài)允許一個對象向所有的偵聽的對象廣播自己的消息或事btn.addActionListener(。。。唐大仕GRASP模Pattern)通用職責軟件分配模式GRASP模Pattern)通用職責軟件分配模式1 Expert(信息專家2Creator(創(chuàng)造者3 Coupling(低耦合4 Cohesion(高內(nèi)聚5Controller(控制器6Polymorphism(多態(tài)7 Fabrication(純虛構(gòu)8Indirection(間接9 Variations(受保護變化唐大仕44反唐反唐大仕在運行狀在運行狀態(tài)中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對任意一個對象,都能夠調(diào)用它的任意一個方法和屬性唐大仕Class對首先要得到類的Class對首先要得到類的得到Class對象的三種方類名Class<?>cls=對象Stringstr=Class<?>cls=str唐大仕得到字段及方得到字段及方由Class獲得該類的信得到成員(字段、方法例唐大仕動態(tài)創(chuàng)建對動態(tài)創(chuàng)建對例加了反射功能唐大仕再談再談JDK內(nèi)置的唐大仕自定義注使用@interface自定義注使用@interface來定義一個類型,表示它是一個注使用方法名()表示它的一個屬性(值或數(shù)組(其value()是默認屬性)使用default表示其默// //這個表明可以用反射來讀取 DebugTime{booleanvalue()defaulttrue;longtimeout()default100;Stringmsg();int[]other()default{};}??????????唐大仕注記的使@(屬性=值注記的使@(屬性=值屬性={值,值}//使用注class{publicdoublefib(int????????timeout=10,msg="時

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論