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