版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、我們討論的設(shè)計(jì)模式設(shè)計(jì)模式與面向?qū)ο蟮年P(guān)系 面向?qū)ο笤O(shè)計(jì)的模式 什么是面向?qū)ο笤O(shè)計(jì) 什么是模式“學(xué)習(xí)”設(shè)計(jì)模式有用嗎?直接學(xué)習(xí)設(shè)計(jì)模式一個(gè)栗子 iServer服務(wù)發(fā)布向?qū)绾螌?shí)現(xiàn)? if(第一步)then if(第二步)then if(第三步)then If(第四步并且選擇了xx服務(wù))then這樣?你猜對(duì)了!?你猜對(duì)了?。磕悴聦?duì)了?。磕悴聦?duì)了???你猜對(duì)了?。繉W(xué)挖掘機(jī)到底哪家強(qiáng)?首先程序猿吧沒(méi)對(duì)象吧你們程序猿可以自己new 一個(gè)找對(duì)象那么容易?用面向?qū)ο笤瓌t分析 開(kāi)閉原則修改封閉,擴(kuò)展開(kāi)放。分離變化的和不變的。 變化的是什么 不變的是什么 怎么分離不變的部分變化的部分變化的部分找對(duì)象的常見(jiàn)錯(cuò)誤
2、直接翻譯 先入為主 忽略異常找對(duì)象的常見(jiàn)錯(cuò)誤 直接翻譯 先入為主 忽略異常找對(duì)象的常見(jiàn)錯(cuò)誤 直接翻譯 先入為主 忽略異常強(qiáng)調(diào)一下我的觀點(diǎn) 設(shè)計(jì)模式本身是不復(fù)雜的 使用設(shè)計(jì)模式,是要有對(duì)象的 找對(duì)象,是要用心分析業(yè)務(wù)邏輯的http:/ iPSE Java開(kāi)發(fā) CAS登錄和QQ登錄的過(guò)程幾乎是一樣的iServer自己實(shí)現(xiàn)的QQ登錄VSshiro自己擴(kuò)展實(shí)現(xiàn)的CAS登錄For 其他Java Web開(kāi)發(fā) shiro-web和shiro-core什么關(guān)系 如果不使用shiro-web只使用shiro-core如何實(shí)現(xiàn)web應(yīng)用安全 你的代碼與shiro-web相比有哪些不足http:/shiro.apa
3、/設(shè)計(jì)模式與面向?qū)ο笥嘘P(guān)系嗎?設(shè)計(jì)模式,是針對(duì)特定問(wèn)題使用面向?qū)ο笤O(shè)計(jì)原則對(duì)業(yè)務(wù)邏輯進(jìn)行抽象的參考。學(xué)面向?qū)ο笥杏脝?如果面向?qū)ο笥杏?還要軟件工程干啥業(yè)務(wù)邏輯中的魔鬼class XXXComponent void setConfigDirectory(String path);業(yè)務(wù)邏輯中的魔鬼請(qǐng)輸入xx路徑:瀏覽這多簡(jiǎn)單,就是讀取配置顯示出來(lái),輸入配置保存嘛。搞個(gè)界面按照產(chǎn)品經(jīng)理的要求把風(fēng)格調(diào)好看點(diǎn),還搞個(gè)瀏覽按鈕讓用戶(hù)直接選擇不用手動(dòng)輸入路徑真貼心,用戶(hù)體驗(yàn)好。獲取之前保存的目錄顯示在界面上。接受用戶(hù)輸入的值,檢查下正確性保存用戶(hù)輸入的值調(diào)用XXXComponent .set
4、ConfigDirectory代碼好簡(jiǎn)單了,2小時(shí)搞定,就是調(diào)界面上的css可能要費(fèi)點(diǎn)時(shí)間./config/XXdir業(yè)務(wù)邏輯中的魔鬼產(chǎn)品經(jīng)理:界面上顯示的相對(duì)目錄,用戶(hù)不知道絕對(duì)路徑,要在界面上顯示絕對(duì)路徑。某程序猿:簡(jiǎn)單,把系統(tǒng)配置根目錄傳到前端,在前端拼接下字符串就ok了業(yè)務(wù)邏輯中的魔鬼產(chǎn)品經(jīng)理:有用戶(hù)覺(jué)得顯示絕對(duì)路徑不安全,需要增加一個(gè)securityPath配置,如果設(shè)置為true,絕對(duì)路徑也要顯示成先對(duì)路徑,或者隱藏只顯示一部分。某程序猿:簡(jiǎn)單,讀取配置后根據(jù)securityPath的設(shè)置轉(zhuǎn)換一下路徑。業(yè)務(wù)邏輯中的魔鬼產(chǎn)品經(jīng)理:XXXComponent需要支持從數(shù)據(jù)庫(kù)讀取配置某程序
5、猿:簡(jiǎn)單,數(shù)據(jù)庫(kù)連接字符串里有特殊符號(hào),在XXXComponent .setConfigDirectory里判斷一下,如果是數(shù)據(jù)庫(kù)連接字符串就從數(shù)據(jù)庫(kù)讀。業(yè)務(wù)邏輯中的魔鬼產(chǎn)品經(jīng)理:用戶(hù)修改了配置之后要把原來(lái)保存的數(shù)據(jù)遷移到新的位置某程序猿:簡(jiǎn)單,在XXXComponent .setConfigDirectory里魔鬼養(yǎng)成!某程序員:WhatFuck!這一堆代碼都是干啥的配置相關(guān)邏輯分散得到處都是還前后端都有!XXXComponent為什么要負(fù)責(zé)讀取配置,還分別讀取數(shù)據(jù)庫(kù)的和文件型的。說(shuō)好的單職原則了!面向?qū)ο竽茏柚惯@個(gè)魔鬼嗎?設(shè)計(jì)模式能阻止這個(gè)魔鬼嗎?離了業(yè)務(wù)邏輯談設(shè)計(jì),都是扯淡。Visito
6、r模式 專(zhuān)治else if強(qiáng)迫癥If(geometry instanceOf GeometryA) . else if (geometry instanceOf GeometryB) else if(geometry instanceOf GeometryC) else Visitor模式Interface GeometryVisitor void visit(GeometryA geo);void visit(GeometryB geo);void visit(GeometryC geo);class Geometry abstract void accept(GeometryVisitory visitor);Visitor模式class GeometryA extends Geometryvoid accept(GeometryVisitor visitor) visitor.visit(this); class GeometryB extends Geometry void accept(GeometryVisitor visitor) visitor.visit(this);Visitor模式class MyVisitor implements GeometryVis
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024石灰石礦產(chǎn)品國(guó)際貿(mào)易代理協(xié)議3篇
- 2024西安市二手住宅買(mǎi)賣(mài)監(jiān)管資金協(xié)議
- 2024版承包山場(chǎng)協(xié)議書(shū)
- 2025年度離婚協(xié)議范本:離婚后的子女撫養(yǎng)、財(cái)產(chǎn)分割與贍養(yǎng)協(xié)議6篇
- 2025年度知識(shí)產(chǎn)權(quán)許可合同含詳細(xì)專(zhuān)利、商標(biāo)使用范圍2篇
- 2024幼兒園幼兒入學(xué)監(jiān)護(hù)責(zé)任免除合同3篇
- 2024藥品生產(chǎn)設(shè)備維護(hù)保養(yǎng)服務(wù)合同3篇
- 2024版建筑工程合同的英文
- 2024年紅土鎳礦出口運(yùn)輸協(xié)議
- 2024版酒店會(huì)議服務(wù)合同范本
- 讀圖講圖匯報(bào)模板
- 建筑工程資金計(jì)劃
- 機(jī)電一體化設(shè)備組裝與調(diào)試電子教案
- GB∕T 16508.8-2022 鍋殼鍋爐 第8部分:運(yùn)行
- 《新聞采訪寫(xiě)作》課程思政優(yōu)秀教學(xué)案例(一等獎(jiǎng))
- 道路下穿高速公路安全安全評(píng)價(jià)
- 緊密型縣域醫(yī)共體信息化建設(shè)指南及評(píng)價(jià)標(biāo)準(zhǔn)
- 竣工驗(yàn)收程序流程圖
- 盤(pán)拉機(jī)操作手冊(cè)新
- YY∕T 0314-2021 一次性使用人體靜脈血樣采集容器
- 期中考試質(zhì)量分析PPT.ppt
評(píng)論
0/150
提交評(píng)論