精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

沒有銀彈:談?wù)勡浖O(shè)計(jì)的幾個(gè)矛盾

開發(fā) 后端 前端
以下的建議都是拋磚引玉,未必是最合適的方案,歡迎大家討論。總結(jié)一句話:軟件設(shè)計(jì)要適應(yīng)并滿足需求,同時(shí)不斷演化。

[[114403]]

最近在做項(xiàng)目的重構(gòu)和功能改進(jìn),設(shè)計(jì)做了很多,也發(fā)生了一些爭執(zhí)。其實(shí)總結(jié)下來,很多爭執(zhí)的內(nèi)容其實(shí)早就是經(jīng)典的問題。這些問題沒有孰優(yōu)孰劣,具體采用哪種方案,還得因地制宜,詳細(xì)分析項(xiàng)目需求和復(fù)雜度之后,再做決定。之前很多人都試圖只從宏觀指導(dǎo)思想來決定設(shè)計(jì),最后大家誰也不服誰,所以先把問題確定下來,至少以后思考問題會(huì)直接一點(diǎn)。

1. 拆分與合并

從現(xiàn)實(shí)世界來說,事物本身就是互相聯(lián)系的,從這個(gè)觀點(diǎn)來看,任何對(duì)事物的拆分都是不完全正確的。

但是軟件開發(fā)中,人的理解能力是有限的,而拆分目前看來是降低單個(gè)項(xiàng)目復(fù)雜度最有效的辦法。

拆分有很多級(jí)別,最小的可能是拆分代碼段,用多個(gè)函數(shù)代替單個(gè)函數(shù),然后是用多個(gè)類代替單個(gè)類,在Java里面,還可以拆分package,然后拆分jar包,最后拆分成不同的項(xiàng)目。

之前有過很多的爭執(zhí),關(guān)于一個(gè)項(xiàng)目要拆還是不拆,以及如何拆。關(guān)于這個(gè),我的建議是:

  1. 拆與不拆沒有對(duì)錯(cuò)

    Windows是微內(nèi)核架構(gòu),Linux是單內(nèi)核架構(gòu)。微內(nèi)核意味著內(nèi)核很小,你可以通過很多個(gè)模塊去補(bǔ)充它,內(nèi)核與模塊是解耦的。Linux是單內(nèi)核,就表示所有內(nèi)核功能會(huì)在編譯時(shí)就確定??赡艽蠹叶加X得微內(nèi)核更好,很多時(shí)候它確實(shí)更好,但是Linus有個(gè)經(jīng)典的論斷:“你不需要管理各個(gè)模塊,但是你需要處理模塊之間的依賴,這個(gè)可能比模塊本身更復(fù)雜”。因?yàn)槭挛锉旧砭褪腔ハ嗦?lián)系的,你覺得他們不存在耦合,只是當(dāng)前使用場景用不到而已。

  2. 系統(tǒng)內(nèi)部實(shí)現(xiàn)對(duì)外部透明,保留拆或者不拆的選擇權(quán)。

    項(xiàng)目自身的復(fù)雜度,完全可以靠內(nèi)部實(shí)現(xiàn)解決,對(duì)外保持約定好的API,這樣對(duì)于以后內(nèi)部的重構(gòu),會(huì)簡單得多。相反,如果暴露了內(nèi)部實(shí)現(xiàn),那么修改就很困難了。

  3. 對(duì)于項(xiàng)目拆分,如果沒有充足的理由支持拆分,就不要拆。

    不成熟的拆分,最常見的結(jié)果是,隨著需求的變化,你不得不打破這種解耦關(guān)系,這樣反而會(huì)帶來更多的問題。建議是需求穩(wěn)定之后,再考慮拆分。

  4. 在系統(tǒng)內(nèi)部多多進(jìn)行代碼級(jí)別的拆分,管理復(fù)雜度。

    相比項(xiàng)目的拆分,函數(shù)和類級(jí)別的拆分成本非常低,值得多用。

2. 配置化與靈活性

一段代碼,如果使用一遍,那么我們就直接通過代碼實(shí)現(xiàn)了。如果我們有幾十上百個(gè)類似的任務(wù),那么我們就不希望寫重復(fù)的代碼了,我們希望能夠通過配置幾個(gè)不同的參數(shù),從而實(shí)現(xiàn)不同的任務(wù)。如果以后還有不斷變化的需求,我們甚至不希望自己寫配置,而是有一個(gè)運(yùn)營后臺(tái)來讓需求方(可能是不懂開發(fā)的人)直接完成配置。

配置化的開發(fā)方式往往對(duì)開發(fā)者來說有很大的誘惑,從而忽略其中的成本,這個(gè)配置最近還有個(gè)很火的名字,叫做DSL。但其實(shí)配置化和靈活性是矛盾的,配置的表述能力自然要弱于通用語言。當(dāng)然,也有人嘗試使用配置解決所有問題,結(jié)果只不過是發(fā)明了一門很難用的語言而已。

我自己的框架WebMagic是一個(gè)經(jīng)典的配置與靈活性權(quán)衡的例子。WebMagic是一個(gè)垂直爬蟲框架,爬蟲最復(fù)雜的是規(guī)則的編寫,你可以認(rèn)為這是一個(gè)可配置的東西。公司基于它做了一個(gè)配置后臺(tái),即使是這樣,仍然有一些情況,不得不手寫Java代碼來實(shí)現(xiàn)一些功能。

對(duì)于這個(gè)問題,我的建議是:

  1. 先寫代碼解決問題,但是提前約定接口。

    第一個(gè)階段,沒有誰能預(yù)測以后的需求,所以先用你熟悉的代碼實(shí)現(xiàn)??梢愿鶕?jù)你的輸入和輸出,約定程序級(jí)別的接口,相比配置化,這一般來說會(huì)容易,如果接口設(shè)計(jì)得當(dāng),也會(huì)有具有很大靈活性,以后基本無需更改。

  2. 在有一定積累之后,基于以往的任務(wù)做配置化。

    配置的內(nèi)容是什么呢?首先公共邏輯肯定會(huì)在整體框架中,配置的內(nèi)容應(yīng)該是不同任務(wù)彼此獨(dú)特的部分。這個(gè)配置格式,或者DSL的語法的約定,首先應(yīng)該基于已有的任務(wù),然后可能考慮一下未來的情況。我是個(gè)實(shí)踐主義者,所以我更多的會(huì)參考已有的情況,如果發(fā)現(xiàn)這個(gè)配置化的框架,對(duì)之前的任務(wù)都不能滿足,那么就需要思考一下它的可行性和必要性了。

  3. 在任何時(shí)候都保留能使用代碼實(shí)現(xiàn)的能力。

    我是個(gè)實(shí)用主義者。有了配置,如果不提供代碼實(shí)現(xiàn)的能力,而又有一些復(fù)雜的需求,那么就只能擴(kuò)展配置的能力了。這樣只可能會(huì)導(dǎo)致這個(gè)配置解決框架變得極其龐大和復(fù)雜,而相對(duì)收益卻很低。這個(gè)時(shí)候,可以通過配置解決大部分問題,然后通過代碼解決少量問題,也是不錯(cuò)的選擇。

3. 總結(jié)

其實(shí)還有很多東西沒說到,以后補(bǔ)充吧。以上的建議都是拋磚引玉,未必是最合適的方案,歡迎大家討論。

總結(jié)一句話:軟件設(shè)計(jì)要適應(yīng)并滿足需求,同時(shí)不斷演化。

本文出自:http://my.oschina.net/flashsword/blog/280096

責(zé)任編輯:林師授 來源: OSCHINA
相關(guān)推薦

2017-08-28 15:00:20

軟件系統(tǒng)架構(gòu)風(fēng)格

2022-12-26 00:02:24

重構(gòu)代碼軟件

2013-05-08 09:12:44

2019-08-12 14:45:50

軟件設(shè)計(jì)Java

2010-06-24 14:39:09

HART協(xié)議

2012-06-07 10:17:55

軟件設(shè)計(jì)設(shè)計(jì)原則Java

2013-06-07 11:31:36

面向?qū)ο?/a>設(shè)計(jì)模式

2010-06-28 15:23:43

SNMP協(xié)議

2022-07-10 07:48:26

緩存軟件設(shè)計(jì)

2009-02-20 10:25:54

UML軟件設(shè)計(jì)例程

2010-06-08 13:29:29

UML技術(shù)

2024-07-04 09:27:57

2014-04-30 12:18:07

軟件設(shè)計(jì)

2023-10-19 13:43:00

設(shè)計(jì)模式軟件設(shè)計(jì)

2021-11-23 20:41:05

對(duì)象軟件設(shè)計(jì)

2023-07-05 09:37:49

AI人工智能

2022-09-19 06:25:14

設(shè)計(jì)模式GoF

2011-09-15 10:38:03

Windows 8UI設(shè)計(jì)

2010-08-11 09:15:07

設(shè)計(jì)模式Python

2020-10-18 21:41:34

軟件設(shè)計(jì)語言開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

日韩一区二区三区在线观看视频| 九九热99视频| 11024精品一区二区三区日韩| 欧美爱爱视频| 91视频国产观看| 欧美另类第一页| 无码少妇一区二区三区芒果| 欧美视频久久久| 欧美女人交a| 欧美日韩不卡在线| 欧美日韩一区二| 九九热精品免费视频| 日韩毛片网站| 国产精品午夜电影| 国产成人精品在线观看| 亚洲精品视频大全| 国产在线88av| 成人黄色av电影| 欧美日韩国产成人| 久久发布国产伦子伦精品| 免费在线观看av网站| 欧美aaaaa成人免费观看视频| 日韩精品中文字幕在线观看| 欧美精品久久久久久久自慰| 成人午夜视频一区二区播放| 欧美日韩视频| 精品国产一区二区三区久久影院| 日韩欧美一级在线| www.com欧美| 国产在线不卡| 亚洲精品一区二区三区蜜桃下载| 99热亚洲精品| 亚洲人妻一区二区| 香蕉成人久久| 亚洲网站在线看| 免费看污黄网站| av网站在线免费播放| 欧美aaaaaa午夜精品| 日韩中文字幕久久| 午夜福利123| 欧美理论电影| 99国内精品久久| 国产91精品久久久久久| 亚洲做受高潮无遮挡| 在线观看精品| 中文字幕制服丝袜一区二区三区| 成人做爽爽免费视频| 免费中文字幕在线| 噜噜噜天天躁狠狠躁夜夜精品| 午夜精品一区二区三区三上悠亚| 欧美日韩一区二区三区免费| 亚洲一二区视频| 欧美va天堂| 日韩国产一区三区| 日韩精品一区二区三区不卡| 日本在线观看视频| 成人手机电影网| 国产精品pans私拍| 综合五月激情网| 日韩精品福利一区二区三区| 91黄色免费看| 伊人久久在线观看| 日韩a级作爱片一二三区免费观看| 日韩专区在线视频| 久久伊人精品天天| 一二三不卡视频| 亚洲高清国产拍精品26u| 亚洲福利电影网| 日日噜噜噜噜夜夜爽亚洲精品| 国产精品嫩草影院精东| 亚洲少妇自拍| 久久资源免费视频| 精品无人区无码乱码毛片国产| 亚洲一区有码| 日韩欧美第一页| 性生活免费观看视频| 三级理论午夜在线观看| 国产一区二区免费视频| 国产999精品久久久| 99精品久久久久| 国内精品久久久久久久影视简单 | 日韩av最新在线| 日韩成人av免费| 另类图片综合电影| 亚洲大片一区二区三区| 一区二区视频在线观看| 日韩电影网址| 99久久精品费精品国产一区二区 | 97视频一区| 欧美猛男gaygay网站| 丰满少妇被猛烈进入高清播放| 黄色在线论坛| 国产精品免费看片| 欧美下载看逼逼| 五月色婷婷综合| 国产成人99久久亚洲综合精品| 国产精品网站入口| 国产一级一级国产| 影音先锋中文字幕一区二区| 久久久国产一区二区| 一区二区三区伦理片| 欧美日韩导航| 亚洲国产精品va在线看黑人| 可以看的av网址| aa亚洲一区一区三区| 欧美性受xxxx| wwwwww.色| 日本久久免费| 色综合久久综合网| 波多野结衣50连登视频| 三级网站视频在在线播放| 亚洲欧洲精品一区二区精品久久久| 欧美性大战久久久久| 四虎影视在线播放| 91麻豆6部合集magnet| 国产一区精品在线| 午夜福利视频一区二区| 99精品视频一区二区三区| 国产一区二区三区四区五区加勒比| 精品国产av鲁一鲁一区| 国产超碰在线一区| 国产高清在线一区| 少妇一级淫片免费看| 本田岬高潮一区二区三区| 国产伦精品一区二区三区在线 | 国产一区视频在线观看免费| 日韩中文字幕欧美| 99久久99久久精品国产| 希岛爱理av一区二区三区| 国产亚洲欧美日韩日本| 亚洲全黄一级网站| 欧美图片一区二区| 久久不见久久见免费视频7| 亚洲欧美综合另类中字| www在线观看免费视频| 国产精选一区| 精品国产欧美一区二区三区成人| 成人在线观看免费完整| 亚洲大片在线| 欧美在线精品免播放器视频| 国产男人搡女人免费视频| 日本亚洲一区二区| 成人免费视频网址| 亚洲av无码一区二区三区性色| 成人免费av网站| 欧美精品v日韩精品v国产精品| 国产系列在线观看| 亚洲天堂2016| 成人一区二区免费视频| 朝桐光一区二区| 日韩西西人体444www| 一起草在线视频| 欧美一区二区麻豆红桃视频| 久热爱精品视频线路一| 亚洲免费在线观看av| 日韩高清欧美激情| 99国精产品一二二线| 欧美一区二区少妇| 亚洲欧美日本在线| 丰满少妇被猛烈进入高清播放| 欧美97人人模人人爽人人喊视频| 日韩欧美一区在线| 69视频在线观看免费| 中文精品电影| 日本欧美一级片| 国产精品亚洲lv粉色| 91天堂素人约啪| 青青草影院在线观看| 欧美成人黑人| 欧美成人a∨高清免费观看| 久久久久久久久久久久| 欧美极品一区二区三区| 国产精品九九九| 欧美一区,二区| 亚洲天堂福利av| 又色又爽又高潮免费视频国产| 精品一区二区三区中文字幕在线| 日韩精品久久久久久福利| 疯狂试爱三2浴室激情视频| 亚洲在线网站| 国产福利久久| 黄色精品免费看| 精品视频色一区| 久久久久麻豆v国产精华液好用吗 在线观看国产免费视频 | 天堂网成人在线| 精品盗摄女厕tp美女嘘嘘| 欧美极品美女视频网站在线观看免费| 中文字幕乱码无码人妻系列蜜桃| fc2成人免费人成在线观看播放| 在线精品亚洲一区二区| 日韩三区在线| 精品一区二区三区电影| 国产污片在线观看| 国产一区二区不卡在线| 亚洲一区精品视频| 99精品在免费线偷拍| 精品日产卡一卡二卡麻豆| 国产稀缺精品盗摄盗拍| 精品一区二区三区在线播放| 日本一区免费观看| 成人爽a毛片免费啪啪| 亚洲激情视频在线观看| 久久精品美女视频| 国产成人aaa| 日韩一级免费看| 麻豆久久一区| 九九九久久国产免费| 国产精品欧美亚洲| 中文字幕中文字幕在线一区| 污色网站在线观看| 大胆日韩av| 国产精品日韩在线播放| 中文字幕在线免费| 欧美性做爰猛烈叫床潮| 粉嫩精品久久99综合一区| 日韩国产欧美在线视频| 欧洲精品一区色| 亚洲日本在线观看视频| 中文字幕欧美精品日韩中文字幕| 久久久久久无码精品大片| 国产日韩欧美一区二区三区综合| 日本成人在线免费视频| 精品国产一级毛片| 国产精品专区一| 成人短视频在线观看| 欧美一区二区三区公司| 免费日韩在线视频| av电影一区二区| 成年人黄色片视频| 操欧美老女人| 51国产成人精品午夜福中文下载| 午夜小视频在线观看| 精品剧情v国产在线观看在线| 青青草av在线播放| 久久看人人爽人人| 欧美男女交配视频| 你懂的亚洲视频| 国产精品一区二区三区四区五区| √8天堂资源地址中文在线| 亚洲美女动态图120秒| 国产无遮挡又黄又爽又色视频| 国产精品网站在线| 亚洲精品在线视频播放| 好看的av在线不卡观看| 久久久久久久有限公司| www.国产精品| 欧美理论电影在线观看| 欧洲亚洲精品视频| 制服丝袜国产精品| 日本少妇bbwbbw精品| 国产欧美日韩精品a在线观看| 日韩欧美中文视频| 欧美一级一区| 国风产精品一区二区| 亚洲人成伊人成综合图片| 国产啪精品视频网站| 男女在线观看视频| 一本色道久久88综合亚洲精品ⅰ | 亚洲欧美成人一区| 91精品啪在线观看国产爱臀| 日韩免费不卡av| av免费在线观看网站| 亚洲久久久久久久久久| 99国产揄拍国产精品| 欧美性猛交xxxx免费看| 韩国一级黄色录像| 91麻豆国产香蕉久久精品| 中文国产在线观看| 日韩精品乱码av一区二区| japanese在线播放| 日韩在线第七页| 狠狠色噜噜狠狠狠狠色吗综合| 欧美风情在线视频| 91精品国产777在线观看| 蜜芽在线免费观看| 亚洲欧美另类人妖| 囯产精品久久久久久| 欧美视频你懂的| 国产精品乱子伦| 亚洲自拍偷拍av| 中文字幕资源站| 中文字幕av资源一区| 人妻丰满熟妇av无码久久洗澡 | 亚洲视频一二| 亚洲自拍偷拍二区| 激情综合网站| 久久国产精品久久| 91精品久久久久久综合五月天| 国产区亚洲区欧美区| 欧美大片免费高清观看| 91精品国产免费久久久久久 | 日韩精品xxx| 开心九九激情九九欧美日韩精美视频电影 | 欧美一二三区精品| 亚洲在线观看av| 在线日韩av片| 精产国品一区二区| 五月综合激情网| 日韩精品一区二区三区国语自制| 亚洲卡通动漫在线| 国产高清视频免费在线观看| 国产欧美综合在线| 受虐m奴xxx在线观看| 91网站在线播放| 国产精品无码久久久久一区二区| aaa亚洲精品| 国产精品无码电影| www一区二区| 三级网站在线免费观看| 久久久www成人免费毛片麻豆| 黄色短视频在线观看| 91色|porny| 成年人免费观看视频网站| 久久精品亚洲一区二区三区浴池| 成人影视免费观看| 久久蜜桃av一区精品变态类天堂| 无码人妻精品一区二区三应用大全 | 婷婷丁香久久五月婷婷| 日韩成人免费观看| 疯狂做受xxxx高潮欧美日本 | 日本视频在线观看| 最新69国产成人精品视频免费| 性开放的欧美大片| 日韩在线观看免费高清| 成a人片在线观看| 欧美黄色片免费观看| heyzo在线欧美播放| 久久久欧美一区二区| 性国裸体高清亚洲| 国产xxx69麻豆国语对白| 欧亚一区二区| 成人免费看片视频| 国产福利一区二区精品秒拍| 九色91在线视频| 日韩不卡一区| 久久久天堂国产精品| 日韩午夜免费视频| 五月婷婷深爱五月| 国产老女人精品毛片久久| 国产女人18毛片水真多18| 久久亚洲免费视频| 女人18毛片毛片毛片毛片区二| 亚洲影院理伦片| 日本一本在线观看| 日韩视频在线你懂得| 五月色婷婷综合| 久久亚洲电影天堂| 性欧美又大又长又硬| 国产色视频一区| 日韩在线黄色| 国产一区一区三区| 一二三区精品| 中文字幕在线视频一区二区三区| 国产老肥熟一区二区三区| 西西大胆午夜视频| 自拍偷拍亚洲综合| 好看的av在线| 日韩一区二区电影网| 婷婷国产在线| 日韩有码在线电影| 中文不卡1区2区3区| 91久久久久久久久久久| 日韩美女毛片| 日日噜噜夜夜狠狠久久丁香五月| 先锋a资源在线看亚洲| gogo亚洲国模私拍人体| 国产精品视频一二三| 91看片在线播放| 欧美一区日本一区韩国一区| 国产在线资源| 国内精品久久久久影院优| 欧美爱爱视频| 日韩精品久久一区| av成人激情| 日本亚洲一区二区三区| 欧美国产禁国产网站cc| av大片免费在线观看| 日韩三级电影网址| 午夜视频成人| 日韩暖暖在线视频| 极品束缚调教一区二区网站| 国产精品av免费| 日韩电影在线一区二区| 亚洲男人在线天堂| 亚洲福中文字幕伊人影院| a级片免费观看| 日韩中文在线视频| 欧洲亚洲两性| 快播亚洲色图| 亚洲美女一区| 理论片大全免费理伦片| 亚洲猫色日本管| 国产免费av观看| 这里只有精品在线播放| 欧洲亚洲两性| 欧美亚洲丝袜| 久久精品亚洲一区二区| 国产精品边吃奶边做爽| 午夜激情久久久| 免费a视频在线观看|