<rt id="eeo40"><acronym id="eeo40"></acronym></rt>
  • <dd id="eeo40"><s id="eeo40"></s></dd>
  • <menu id="eeo40"><code id="eeo40"></code></menu>
  • 您的位置:首 頁(yè) > 新聞中心 > 行業(yè)動(dòng)態(tài) > 把方案一簡(jiǎn)再簡(jiǎn)

    行業(yè)動(dòng)態(tài)

    把方案一簡(jiǎn)再簡(jiǎn)

    發(fā)布:2018-07-11 19:11:47 瀏覽:4401

    在設(shè)計(jì)復(fù)雜系統(tǒng)時(shí)使用此原則簡(jiǎn)化方案的范圍、設(shè)計(jì)和實(shí)施。在(編程或者計(jì)算)資源有限的情況下設(shè)計(jì)復(fù)雜系統(tǒng)或產(chǎn)品時(shí)使用。

    有時(shí)我們會(huì)告訴客戶,對(duì)于該原則,要問(wèn)3個(gè)“如何”,即如何簡(jiǎn)化范圍,如何簡(jiǎn)化設(shè)計(jì),如何簡(jiǎn)化實(shí)施。

    1.如何簡(jiǎn)化范圍

    這個(gè)問(wèn)題的答案是:經(jīng)常應(yīng)用帕累托法則(也稱為80-20法則)。80%的成果來(lái)自于20%的工作嗎?對(duì)于我們的情況,直接問(wèn)“80%6的收入來(lái)自于20%的功能嗎”。少做(只做20%的工作)多得(得到80%的收益你的開(kāi)發(fā)組就能有時(shí)間做其他的事情了。如果去除產(chǎn)品中不必要的功能,那么你的工作效率就能提高5倍,產(chǎn)品的復(fù)雜度也會(huì)大大減小。如果只有1/5的功能,那么毫無(wú)疑問(wèn),功能之間的依賴關(guān)系就會(huì)減少,從而擴(kuò)展起來(lái)更容易,擴(kuò)展成本也會(huì)更低。此外,節(jié)省下來(lái)的809%的時(shí)間既可以用于開(kāi)發(fā)新產(chǎn)品,也可以用于提前考慮產(chǎn)品將來(lái)的擴(kuò)展需求。

    不止是我們?cè)谒伎既绾卧跍p少不必要功能的同時(shí)保留主要功能。37signals中的很多人對(duì)此方法都很擁護(hù),他們?cè)谧约旱臅吨貋?lái)》(Rework2)和博客“YouCanAlwaysDoLess”(你可以做得少一點(diǎn))中都討論過(guò)減少工作的必要性和所帶來(lái)的好處。事實(shí)上,“最小可行產(chǎn)品”這一概念是由EricReis提出,由MartyCagan傳播開(kāi)來(lái)的,它的依據(jù)是“用最小的努力得到最有效的客戶需求”這一理念。這種敏捷開(kāi)發(fā)方法使我們可以快速地發(fā)布簡(jiǎn)單且容易擴(kuò)展的產(chǎn)品。如此我們的公司就能夠得到更大的產(chǎn)品生產(chǎn)力(公司可擴(kuò)展性),把時(shí)間用于構(gòu)建少數(shù)有更高可擴(kuò)展性的產(chǎn)品上。通過(guò)簡(jiǎn)化范圍,我們將具有更高的計(jì)算能力,同時(shí)工作得更少。

    2.如何簡(jiǎn)化設(shè)計(jì)

    范圍縮小后,簡(jiǎn)化實(shí)施的工作就變得容易了。簡(jiǎn)化設(shè)計(jì)與過(guò)度設(shè)計(jì)的復(fù)雜度緊密相關(guān)。減少?gòu)?fù)雜度是刪除工作中不必要的部分,而簡(jiǎn)化則是要找到一條捷徑。在原則1中舉過(guò)一個(gè)例子,把se1e1lct(大)fromschema_name.tabe_name改為為select(co1umn)fromschemaname.tabe_name,只查詢你需要的結(jié)果。簡(jiǎn)化設(shè)計(jì)的方法則建議我們首先看看要查詢的信息是不是已經(jīng)存在于本地資源(例如本地內(nèi)存)中了。減少?gòu)?fù)雜度是為了減少工作量,而簡(jiǎn)化設(shè)計(jì)是為了工作得更快更容易。

    假設(shè)我們要讀一些源數(shù)據(jù),對(duì)這些源數(shù)據(jù)中的中間令牌進(jìn)行計(jì)算,然后把這些令牌綁定起來(lái)。在許多情況下,這個(gè)假設(shè)中的每個(gè)動(dòng)作都可以被分解成一系列服務(wù)。事實(shí)上,這種方法和流行的Map-Reduce算法采用的方法類似。這種方法并不過(guò)度復(fù)雜,所以不違背原則。但是如果我們知道要讀的文件很小,不需要跨文件綁定令牌,那么開(kāi)發(fā)一個(gè)簡(jiǎn)單的整體式的應(yīng)用,比把它分解為多個(gè)服務(wù)更合理。再看看前面的打卡系統(tǒng)的例子,如果目的只是計(jì)算每個(gè)員工的工作時(shí)長(zhǎng),那么用多個(gè)克隆的整體式應(yīng)用讀打卡系統(tǒng)的隊(duì)列并執(zhí)行計(jì)算則更合理。簡(jiǎn)而言之,簡(jiǎn)化設(shè)計(jì)這一步會(huì)要求我們用一種容易理解、低成本、可擴(kuò)展的方式來(lái)完成工作。

    3.如何簡(jiǎn)化實(shí)施

    最后,來(lái)看看實(shí)施的問(wèn)題。與原則2(實(shí)現(xiàn)可擴(kuò)展性的D-I-D方法)致,這里的實(shí)施定義為解決方案的實(shí)際編碼工作。此日時(shí)要面臨的問(wèn)題是用遞歸還是循環(huán)更合理?應(yīng)該定義一個(gè)固定大小的數(shù)組,還是應(yīng)該在需要時(shí)動(dòng)態(tài)分配內(nèi)存?應(yīng)該開(kāi)發(fā)一個(gè)解決方案,還是應(yīng)該采用開(kāi)源的解決方案,還是應(yīng)該購(gòu)買一個(gè)解決方案?這些問(wèn)題有一個(gè)相同的考量,即如何利用他人的經(jīng)驗(yàn)和現(xiàn)有的解決方案來(lái)簡(jiǎn)化我們的實(shí)施。

    考慮到我們不可能事事精通,所以首先應(yīng)該查查找能滿足我們需求的、被廣泛采用的開(kāi)源解決方案或者第三方解決方案。如果沒(méi)有這樣的方案,應(yīng)該在公司內(nèi)部詢問(wèn)是否有人已經(jīng)開(kāi)發(fā)了能解決該問(wèn)題的可擴(kuò)展方案。如果沒(méi)有專用的解決方案,那么應(yīng)該再?gòu)耐獠繉ふ?,是否有人描述過(guò)解決該問(wèn)題的可擴(kuò)展方法,而且我們可以合法地復(fù)制或模仿?只有當(dāng)這三種條件都不成立時(shí),才應(yīng)該嘗試自己解決該問(wèn)題。最簡(jiǎn)單的網(wǎng)站建設(shè)實(shí)施方法都是已經(jīng)被實(shí)施過(guò)且被證明是可擴(kuò)展的方法。

    >>> 查看《把方案一簡(jiǎn)再簡(jiǎn)》更多相關(guān)資訊 <<<

    本文地址:http://www.modelkey.org/news/html/3444.html

    趕快點(diǎn)擊我,讓我來(lái)幫您!
    亚洲高清无码中文成人在线,AV色综合久久天堂AV色综合在,久久人人爽人人爽人人片av高,日本亚洲成a人片在线观看
    <rt id="eeo40"><acronym id="eeo40"></acronym></rt>
  • <dd id="eeo40"><s id="eeo40"></s></dd>
  • <menu id="eeo40"><code id="eeo40"></code></menu>