摘要:做只在乎怎么把告訴我的東西再交給,怎么把的東西交給。做超人無(wú)敵了比我差一點(diǎn),有件事不能做。。想到什么都寫(xiě)這里我是男的,所以上面沒(méi)寫(xiě)男超人,呵呵。
這是我在segmentfault回答的一個(gè)問(wèn)題里的回復(fù),覺(jué)得寫(xiě)的挺多的有點(diǎn)惡搞在里面,拿來(lái)給大伙分享一下。
其實(shí)做了這些年的項(xiàng)目,經(jīng)歷和見(jiàn)識(shí)了很多種的設(shè)計(jì)。
比如:給你文檔要你完全按照文檔來(lái)寫(xiě)甚至每個(gè)service里面的方法名都有規(guī)范,只是沒(méi)有嚴(yán)格 到怎么去實(shí)現(xiàn)他們,我覺(jué)得這就是半填空的coding;
有一種是完全填空的coding甚至說(shuō)調(diào)用的方法都有參考文檔,讓你來(lái)做的目的就是把誰(shuí)調(diào)用誰(shuí)填進(jìn)去,這種是完全填空coding;
需求拿來(lái)自己設(shè)計(jì)自己來(lái)實(shí)現(xiàn),我覺(jué)得這是全包的coding啊,小公司很多這樣;還有一種接手的項(xiàng)目已經(jīng)存在且有自己的 架構(gòu)了,我們做的目的就是來(lái)完美它豐滿(mǎn)它;
公司有個(gè)新的案子要從頭來(lái)做,你們團(tuán)隊(duì)中有架構(gòu)有pg有qa,各司其職這種應(yīng)該算是比較正常的了。
上面說(shuō)的這些例子有沒(méi)有發(fā)現(xiàn)一個(gè)問(wèn)題,除了嚴(yán)格的限制你要做什么和你只能做什么以外,其實(shí)在團(tuán)隊(duì)開(kāi)發(fā)中你身處的角色決定了這個(gè)框架的走向,做ui的 只是在乎view,甚至他們只是看js css純ui哦!做service的只是在乎前臺(tái)和他交互,他怎么和dao去交互。做dao只在乎怎么把service告訴我的東西再交給db,怎么把 db的東西交給service。
說(shuō)的這些可能會(huì)認(rèn)為我跑題太嚴(yán)重了,其實(shí)不然!我舉的例子不可能包含了全部,還只是很小的一部分,就和設(shè)計(jì)模式一樣,曾經(jīng)看到有人說(shuō)“什么設(shè)計(jì) 模式啊,很多的這種所謂的設(shè)計(jì)模式放到其他的語(yǔ)言都沒(méi)有意義”(我是搞java的),他說(shuō)的有些是對(duì)的,正如中國(guó)從古代就講究不完美一樣,那個(gè)怎么說(shuō)來(lái) 著?“大道五十,天衍四十九,留一線(xiàn)生機(jī),遁去一道”,別吵!我不是看仙俠小說(shuō)看多了!
我想說(shuō)的其實(shí)是沒(méi)有完美的!人不完美,事物也不完美,隨著你的學(xué)識(shí)、見(jiàn)聞、體驗(yàn)總能從以前看似完美的東西里面去找出不完美的一面,所以大家還是不要 費(fèi)勁的去追求完美了,如果完美了就不會(huì)有什么多少種的設(shè)計(jì)模式了,一種足以,還有什么nosql,還有什么mvc框架,mvc只是個(gè)主流而已,還有很多叫 不上名字的(因?yàn)槿思铱赡芨緵](méi)起個(gè)好聽(tīng)的名字)。
好吧,題主的問(wèn)題我到現(xiàn)在都沒(méi)有認(rèn)真的回復(fù)這是不對(duì)的,上面這些就是想說(shuō)一個(gè)道理,做自己在這個(gè)時(shí)刻認(rèn)為是對(duì)的事情就可以了,以后的事情可以適當(dāng)?shù)娜ハ耄悄愕倪@個(gè)以后其實(shí)也是有個(gè)長(zhǎng)度的,想的總是不會(huì)太遠(yuǎn)。
這里開(kāi)始說(shuō)下問(wèn)題的回答。
public class OrderComposeService{ public void composeOrder(){ //TODO } public void composeSku(){ //TODO } }
這段代碼,你覺(jué)得和上下文不一致性,“關(guān)于業(yè)務(wù)分層”的帖子特意去看了下,后面有人提到用helper,manager,facade來(lái)做那段“不 和諧”的代碼都對(duì),哪怕你準(zhǔn)備用XX來(lái)做都可以的,不就是個(gè)名字嗎?咱們要的是種思想!我意識(shí)到了這段“不和諧”,我就去讓它看上去“和諧”點(diǎn)唄。
其實(shí)我們周?chē)膶?xiě)的很多代碼,都是過(guò)程式的書(shū)寫(xiě)。
這句話(huà)我非常認(rèn)同,還記得學(xué)oo之前,老師跟我吹呼說(shuō)很多的語(yǔ)言都是過(guò)程的、函數(shù)的、程式的、方法的,java可是面向?qū)ο蟮?,?tīng)上去高大上,但實(shí)際呢?就好像每天在家里看ccav非常美好,但出門(mén)怎么樣?現(xiàn)實(shí)和想象總是有差距的。
真正去使用的時(shí)候總是圖省事沒(méi)有寫(xiě)“繁瑣”的oo代碼,比如下面這段
class 我{ N種牛X的屬性。。。 public void 做超人(){ 無(wú)敵了。。想到什么都寫(xiě)這里 } }
一個(gè)method就是超人了,牛不牛?寫(xiě)的時(shí)候?yàn)槭裁淳筒幌胂耄钌俚糜袀€(gè)紅褲衩傳給你才能變身呢?超人會(huì)干啥?眼睛冒激光,這不得有個(gè)光學(xué)的類(lèi) 嗎?力大無(wú)窮?好么這最少牽扯到了人體學(xué)。還能飛呢!我們?cè)谶@能把人體學(xué)重用了!超人不是還有女的嗎?但是女超人有件事不能做哦!
class 她{ N種牛X的屬性。。。 public void 做超人(){ 無(wú)敵了(比“我”差一點(diǎn) ,有件事不能做?。?。想到什么都寫(xiě)這里 } }
ps:我是男的,所以上面沒(méi)寫(xiě)男超人,呵呵。
好吧,女超人比較慘咱們讓她少做一件事,但他們都是超人啊!怎么能寫(xiě)2個(gè)類(lèi)?就要寫(xiě)一個(gè)!但是我就一個(gè)做超人的method啊,怎么辦?這樣吧,咱弄個(gè)子類(lèi)繼承男超人的優(yōu)點(diǎn)吧!不行咱就重載一下做超人的method好了。下面就不寫(xiě)了,多態(tài)的孩子快出來(lái)了。
上面惡搞了一下,很多概念工作年頭多了的人都明白,其實(shí)概念不會(huì)是記的很清楚,但是都知道是怎么回事,我也記的不是很清楚,但就是隨便寫(xiě)了,哪怕看到的可能有問(wèn)題,但總是從一個(gè)角度去看可以說(shuō)通!
這不就是設(shè)計(jì)嗎?這不就是分層嗎?這不就是學(xué)以致用嗎?學(xué)java之初說(shuō)的那個(gè)oo的概念,其實(shí)我總覺(jué)得和那句“道可道,非常道”很相同,道不是說(shuō) 他們說(shuō)的事情相同,而是那種描述的感覺(jué)很像,有些事情可能說(shuō)不清楚,但是你明白,這就是只可意會(huì)不可言傳啊,之前在segmentfault看到過(guò)個(gè)例子 (人類(lèi)玩撲克開(kāi)車(chē)之類(lèi)的……)幫忙說(shuō)怎么寫(xiě)class,還是segmentfault的人不多,或者很多人瞧不上這種問(wèn)題,我敢說(shuō)如果有100個(gè)人讓他們 去寫(xiě),可能會(huì)出現(xiàn)101種方式,你不能要求一個(gè)人只能寫(xiě)一種。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/64328.html
摘要:年是云計(jì)算落地元年評(píng)判標(biāo)準(zhǔn)有兩個(gè)至頂網(wǎng)各位網(wǎng)友大家好,這里是第七屆中國(guó)云計(jì)算大會(huì)的現(xiàn)場(chǎng),我們請(qǐng)來(lái)了青云黃允松接受采訪(fǎng)。你認(rèn)為云計(jì)算發(fā)展這幾年是一個(gè)什么樣的變化黃允松我特別喜歡談?wù)撨@種話(huà)題,我覺(jué)得其實(shí)到年一切都在預(yù)期中,但眼不見(jiàn)為虛。 在不久前在京舉辦的第七屆中國(guó)云計(jì)算大會(huì)上,連續(xù)三次參加大會(huì)的青云QingCloud CEO黃允松接受了ZD至頂網(wǎng)的視頻專(zhuān)訪(fǎng),分享了他眼中的云計(jì)算市場(chǎng)、互聯(lián)...
摘要:我加入了騰訊,騰訊企業(yè)文化很好,經(jīng)常會(huì)有很多小組活動(dòng)部門(mén)活動(dòng)什么的,但是做運(yùn)維很苦。所以,年的時(shí)候我們幾個(gè)騰訊的同事一同創(chuàng)業(yè),希望把我們的想法和經(jīng)驗(yàn)?zāi)軌騻鬟f出來(lái)。這里我列出了騰訊互聯(lián)網(wǎng)運(yùn)維團(tuán)隊(duì)所經(jīng)歷的三個(gè)階段。 本文是數(shù)人云深圳技術(shù)分享課上優(yōu)維科技聯(lián)合創(chuàng)始人彭鯉航的演講實(shí)錄,演講主題是《運(yùn)維自動(dòng)化實(shí)踐》。 精彩觀點(diǎn)搶鮮看 實(shí)現(xiàn)運(yùn)維自動(dòng)化閉環(huán),最主要就是配置管理、狀態(tài)管理和變更管理能力。...
摘要:在上一篇文章基于分支,從到,再到,簡(jiǎn)單的介紹了這里分享在開(kāi)發(fā)過(guò)程中,前端選擇的心理活動(dòng)。而作為核心開(kāi)發(fā)之一,也負(fù)責(zé)前端這塊的開(kāi)發(fā)。 在上一篇文章《 ThinkSNS+基于Laravel master分支,從1到 0,再到0.1》,簡(jiǎn)單的介紹了 ThinkSNS+ ,這里分享在開(kāi)發(fā)過(guò)程中,前端選擇的心理活動(dòng)。 Laravel Mix的放棄 在 Laravel 中,前端工作流默認(rèn)是由 la...
摘要:加入微軟的年里,一直致力于和的研發(fā)工作。圓桌對(duì)話(huà)由祁寧江宏以及云適配馬鐸共同參與。圓桌對(duì)話(huà)深入了解江宏大家好,我是的江宏。因?yàn)楹瘮?shù)式語(yǔ)言有了里的很多特性,當(dāng)然微軟也有自己的函數(shù)式語(yǔ)言。 導(dǎo)讀 上周,C#、Delphi 之父 Anders Hejlsberg 親臨帝都,就 TypeScript 做了一場(chǎng)技術(shù)分享,并與眾多開(kāi)發(fā)者就此進(jìn)行了技術(shù)探討。Anders Hejlsberg 加入微軟...
閱讀 2347·2021-11-15 11:38
閱讀 3557·2021-09-22 15:16
閱讀 1200·2021-09-10 11:11
閱讀 3170·2021-09-10 10:51
閱讀 2949·2019-08-30 15:56
閱讀 2788·2019-08-30 15:44
閱讀 3193·2019-08-28 18:28
閱讀 3533·2019-08-26 13:36