I want to fly higher
programming Explorer
BlogJava
首頁(yè)
新隨筆
新文章
聯(lián)系
聚合
管理
posts - 114,comments - 263,trackbacks - 0
<
2016年11月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
常用鏈接
我的隨筆
我的文章
我的評(píng)論
我的參與
最新評(píng)論
留言簿
(5)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類
(161)
Book(25)
ClassLoader(5)
Concurrency
Dababase
GameServer(10)
HighPerformance
HotSwap(9)
IO
JVM(6)
Language(2)
Mobile
NetWork(2)
NoSQL
Note(8)
OS(6)
Program(69)
Script(1)
ServerFramework(6)
Shell
Sources(8)
Translations
Utils(4)
隨筆檔案
(114)
2018年6月 (1)
2018年3月 (1)
2017年3月 (2)
2017年2月 (2)
2017年1月 (1)
2016年11月 (2)
2016年7月 (4)
2016年6月 (3)
2016年5月 (2)
2015年12月 (2)
2015年10月 (1)
2015年8月 (1)
2015年7月 (4)
2015年6月 (5)
2014年12月 (1)
2014年11月 (4)
2014年4月 (1)
2014年3月 (3)
2014年2月 (5)
2014年1月 (1)
2013年12月 (7)
2013年11月 (4)
2013年8月 (5)
2013年7月 (3)
2013年3月 (6)
2013年1月 (6)
2012年7月 (1)
2011年12月 (9)
2011年8月 (2)
2011年5月 (1)
2011年2月 (2)
2011年1月 (1)
2010年12月 (2)
2010年11月 (1)
2010年7月 (8)
2010年4月 (3)
2010年3月 (3)
2010年2月 (2)
2010年1月 (2)
文章分類
(2)
學(xué)習(xí)筆記(2)
文章檔案
(2)
2011年12月 (2)
Alibaba
搜索技術(shù)博客-淘寶
淘寶開(kāi)源項(xiàng)目
阿里中間件團(tuán)隊(duì)博客
阿里技術(shù)嘉年華
阿里核心系統(tǒng)團(tuán)隊(duì)博客
Comprehensive
InfoQ - 促進(jìn)軟件開(kāi)發(fā)領(lǐng)域知識(shí)與創(chuàng)新的傳播
LinkedIn
stackoverflow
伯樂(lè)在線
內(nèi)存-溢出 為程序員服務(wù)
騰訊大講堂
解道
Expert
jrebel
國(guó)外牛博
并發(fā)編程高手
莊周夢(mèng)蝶
洞庭散人
美團(tuán)技術(shù)博客
褚霸
Game
云風(fēng)
Java
JavaEye做最棒的軟件開(kāi)發(fā)交流社區(qū)
coderanch
IBM developerWorks 中國(guó) Java 技術(shù)專區(qū)
Java Tutorials
Javalobby
javapapers
java-source
java-tips
javaworld
Java極客
Java譯站
Programming Tutorial
TheServerSide
專注Java & Android 技術(shù)分享
并發(fā)編程網(wǎng)
搜索
積分與排名
積分 - 599795
排名 - 78
最新評(píng)論
1.?re: Eclipse反編譯工具Jad及插件JadClipse配置
剛剛問(wèn)題解決了,file types中, .class下還有一個(gè) .class without source。
把這個(gè)也設(shè)置成JadClipse為默認(rèn)選項(xiàng)打開(kāi)嘛,即可。
謝謝版主~~~
--tangyuan
2.?re: Eclipse反編譯工具Jad及插件JadClipse配置
eclipse4.6版本,按照上述來(lái)的不行,版主還有推薦的反編工具嘛,推薦一個(gè)呢
--tangyuan
3.?re: 交換兩個(gè)值,不用臨時(shí)變量(C位運(yùn)算)[未登錄](méi)
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--123
4.?re: Markdown基礎(chǔ)語(yǔ)法及發(fā)布blog
確實(shí)很基礎(chǔ)的語(yǔ)法,很容易就學(xué)會(huì)了!
--有機(jī)綠茶
5.?re: Java8之Stream/Map[未登錄](méi)
總結(jié)的很詳細(xì)!
--jay
閱讀排行榜
1.?Eclipse反編譯工具Jad及插件JadClipse配置(134367)
2.?Unknown Source的出現(xiàn)及解決(39533)
3.?MMORPG服務(wù)器架構(gòu)(33490)
4.?Java8之Stream/Map(24542)
5.?淺談Eclipse dropins插件安裝的"坑"(附m2e的各個(gè)版本插件下載)(19643)
oop-模式-架構(gòu)設(shè)計(jì)基礎(chǔ)(一)
示例切入(鴨子游戲)
游戲中會(huì)有各種鴨子,一邊游泳,一邊咕咕叫
設(shè)計(jì)了一個(gè)鴨子的抽象基類,并讓各種鴨子繼承此基類
如果讓
鴨子飛
,怎么辦?
問(wèn)題
并非所有的鴨子都能飛,在基類中增加fly會(huì)導(dǎo)致所有的子類都具備fly,連那些不該具備fly的子類也無(wú)法排除
非常粗暴的解決辦法就是每個(gè)子類都要仔細(xì)判斷是否要覆寫相關(guān)邏輯,比如不會(huì)飛的鴨子那么覆寫fly方法,什么事情都不做即可;如果遇到不是咕咕叫的鴨子,則覆寫quack方法
繼承的缺點(diǎn)
代碼在多個(gè)子類中重復(fù)
很難知道所有鴨子的全部行為
運(yùn)行時(shí)的行為不容易改變
改變會(huì)牽一發(fā)動(dòng)全身
每當(dāng)新增新的鴨子子類,需要被迫檢查并可能需要覆蓋fly和quack方法--噩夢(mèng)啊
使用接口
把fly從基類中抽出來(lái),放進(jìn)一個(gè)Flyable接口,只有會(huì)飛的鴨子才實(shí)現(xiàn)此接口;同樣的方式,設(shè)計(jì)一個(gè)Quackable接口,因?yàn)椴⒎撬续喿佣紩?huì)叫
問(wèn)題
解決了一部分問(wèn)題,不會(huì)再有“會(huì)飛的橡皮鴨(繼承方式)”
但無(wú)法進(jìn)行代碼復(fù)用-如后續(xù)幾十個(gè)能飛的鴨子的飛行邏輯一致,不但每一個(gè)子類都需要寫一遍(大量重復(fù)的代碼)而且如果修改飛行邏輯的話,則需要全部都修改一遍
歸零
使用繼承不能很好的解決問(wèn)題,鴨子的行為在子類不斷的改變并且讓所有的子類都有這些行為是不恰當(dāng)?shù)?/span>
使用Flyable和Quackable接口解決了一部分問(wèn)題,只有會(huì)飛的鴨子才會(huì)實(shí)現(xiàn)Flyable.但是Java接口不具有實(shí)現(xiàn)代碼,所有實(shí)現(xiàn)接口無(wú)法達(dá)到達(dá)到代碼的復(fù)用
設(shè)計(jì)原則
找出應(yīng)用中可能需要變化之處,把他們獨(dú)立出來(lái),不要和那些不需要變化的代碼混在一起
把變化的部分取出并封裝起來(lái),以便以后可輕易的改動(dòng)或擴(kuò)充此部分而不影響不需要變化的的其他部分
分開(kāi)變化和不會(huì)變化的部分
面向接口編程,而不是面向?qū)崿F(xiàn)編程
飛行行為和咕咕叫行為已經(jīng)和鴨子類無(wú)關(guān)了
整合
最終版本
多用組合,少用繼承
S.O.L.I.D 面向?qū)ο笤O(shè)計(jì)五大基本原則
S-單一職責(zé)原則
一個(gè)類應(yīng)該只有一項(xiàng)工作
如計(jì)算類只負(fù)責(zé)計(jì)算,而不負(fù)責(zé)展示,展示需要交由單獨(dú)的展示類進(jìn)行處理
O-開(kāi)放封閉原則
對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉
一個(gè)類無(wú)需修改類本身卻容易擴(kuò)展
如計(jì)算類中的計(jì)算圖形面積方法大量的if/else,增加圖形要增加大量的if/else-改由圖形本身去計(jì)算
L-里氏替換原則
每一個(gè)子類或派生類應(yīng)該可以替換它們基類或父類
I-接口隔離原則
不應(yīng)強(qiáng)迫客戶端實(shí)現(xiàn)一個(gè)它用不上的接口,或是說(shuō)客戶端不應(yīng)該被迫依賴它們不使用的方法
D-依賴反轉(zhuǎn)原則
依靠抽象而不是具體實(shí)現(xiàn)。它表示高層次的模塊不應(yīng)該依賴于低層次的模塊,它們都應(yīng)該依賴于抽象
面向模式的軟件架構(gòu)
架構(gòu)模式
Layers/Pipes and Filters/Blackboard/Microkernel/BrokerMVC/PACReflection
Whole-Part/Master-Slave/Proxy/Command Processor/View Handler/Forwarder-Receiver/Client-Dispatcher-Server/publisher-subscriber/
Reactor/Proactor/Acceptor-Connector/Aysnchronous Completion Token/Active Object/Thread-Speific Storage
Loopup/Lazy Acquisition/Caching/Pooling/Resouce Lifecycle Manager/
設(shè)計(jì)模式
The 23 Gang of Four Design Patterns
Creational Patterns
Abstract Factory/Builder/Factory Method/Prototype/Singleton
Structural Patterns
Adapter/Bridge/Composite/Decorator/Facade/Flyweight/Proxy
Behavioral Patterns
Chain of Resp/Command/Interpreter/Iterator/Mediator/Memento/Observer/State/Strategy/Template/Visitor
成例
特定語(yǔ)言的,如引用計(jì)數(shù)(CounterPointer)
抽象、封裝、信息隱藏、模塊化、分離關(guān)注點(diǎn)、耦合與內(nèi)聚、充分-完整-簡(jiǎn)單、策略與實(shí)現(xiàn)分離、接口與實(shí)現(xiàn)分離、單個(gè)引用點(diǎn)、分而治之
landon:抽象(個(gè)人認(rèn)為寫代碼最高境界就是抽象)、解耦、開(kāi)閉
JDK源代碼淺析
經(jīng)典的集合框架
ref
《Head First Design Patterns》
《Pattern-Oriented Software Architecture》
posted on 2016-11-04 11:31
landon
閱讀(2454)
評(píng)論(0)
編輯
收藏
所屬分類:
ServerFramework
新用戶注冊(cè)
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
相關(guān)文章:
一個(gè)入門rpc框架的學(xué)習(xí)
Java游戲服務(wù)器基礎(chǔ)技術(shù)體系
oop-模式-架構(gòu)設(shè)計(jì)基礎(chǔ)(一)
《大型網(wǎng)站系統(tǒng)與Java中間件實(shí)踐》讀書筆記
Disruptor入門Ⅰ-Getting Started
Vertx VS Undertow Ⅰ
Copyright ©2025 landon Powered By
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
免费a在线观看播放
|
亚洲精品成人片在线播放
|
男女交性无遮挡免费视频
|
爱情岛论坛网亚洲品质自拍
|
亚在线观看免费视频入口
|
亚洲成_人网站图片
|
亚洲精品国产综合久久一线
|
久久99国产乱子伦精品免费
|
亚洲欧美成aⅴ人在线观看
|
亚洲自偷自偷图片
|
成年私人影院免费视频网站
|
中文字幕在线视频免费观看
|
亚洲成AV人片久久
|
亚洲一级特黄大片无码毛片
|
99久久国产热无码精品免费
|
亚洲国产成人片在线观看
|
69成人免费视频无码专区
|
和老外3p爽粗大免费视频
|
精品久久久久久亚洲精品
|
中文字幕亚洲图片
|
成人免费看吃奶视频网站
|
久久国产精品一区免费下载
|
性色av极品无码专区亚洲
|
337p日本欧洲亚洲大胆精品555588
|
亚洲AV无码乱码在线观看牲色
|
最近中文字幕免费mv在线视频
|
eeuss在线兵区免费观看
|
亚洲色无码专区一区
|
亚洲黄色在线视频
|
国精无码欧精品亚洲一区
|
国产一区在线观看免费
|
国产在线观看免费观看不卡
|
最近2019中文免费字幕在线观看
|
国产亚洲精品美女2020久久
|
亚洲人成人77777在线播放
|
久久夜色精品国产嚕嚕亚洲av
|
国产精品久免费的黄网站
|
无人在线观看免费高清视频
|
7x7x7x免费在线观看
|
99久久免费国产精精品
|
男女猛烈无遮掩视频免费软件
|