日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

演练:有效减法设计,才能开放加法

發(fā)布時(shí)間:2025/7/14 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 演练:有效减法设计,才能开放加法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言:幅員愈大的國(guó)度、大數(shù)據(jù)應(yīng)用愈發(fā)達(dá)的國(guó)度,加法(設(shè)計(jì))的幅度就愈大。加法設(shè)計(jì)幅度愈大,系統(tǒng)的復(fù)雜性和差異化就愈顯著,此時(shí)標(biāo)準(zhǔn)化和統(tǒng)一化的呼聲就愈高。無(wú)論是標(biāo)準(zhǔn)化或統(tǒng)一化,都意味著加法設(shè)計(jì)的大量推進(jìn),導(dǎo)致系統(tǒng)復(fù)雜而難以駕馭;因而要求架構(gòu)師提出有效的減法設(shè)計(jì)方案,從復(fù)雜中設(shè)計(jì)出簡(jiǎn)單,讓人們能簡(jiǎn)單中來(lái)掌控復(fù)雜。就架構(gòu)師而言,基于有效減法的架構(gòu)設(shè)計(jì),才能開(kāi)放人人去做加法設(shè)計(jì)。

ee ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ee

歡迎訪問(wèn) ==>高老師的博客網(wǎng)頁(yè)

高煥堂:MISOO(大數(shù)據(jù).大思考)聯(lián)盟.臺(tái)北中心和東京(日本)分社.總教練


EE ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?EE

有效減法設(shè)計(jì),才能開(kāi)放加法


本文:

幅員愈大的國(guó)度、大數(shù)據(jù)應(yīng)用愈發(fā)達(dá)的國(guó)度,加法(設(shè)計(jì))的幅度就愈大。加法設(shè)計(jì)幅度愈大,系統(tǒng)的復(fù)雜性和差異化就愈顯著,此時(shí)標(biāo)準(zhǔn)化和統(tǒng)一化的呼聲就愈高。無(wú)論是標(biāo)準(zhǔn)化或統(tǒng)一化,都意味著加法設(shè)計(jì)的大量推進(jìn),導(dǎo)致系統(tǒng)復(fù)雜而難以駕馭;因而要求架構(gòu)師提出有效的減法設(shè)計(jì)方案,從復(fù)雜中設(shè)計(jì)出簡(jiǎn)單,讓人們能簡(jiǎn)單中來(lái)掌控復(fù)雜。就架構(gòu)師而言,基于有效減法的架構(gòu)設(shè)計(jì),才能開(kāi)放人人去做加法設(shè)計(jì)。茲說(shuō)明如下:

1)秦朝時(shí)代唯有書(shū)同文、車(chē)同軌的有效減法設(shè)計(jì),才能開(kāi)放加法,整并六國(guó)成唯一個(gè)大國(guó)。

2)唐朝的詩(shī)叫做七言絕句,如姑蘇城外寒山寺,夜半鐘聲到客船,一首詩(shī)四個(gè)句子,每一個(gè)句子七個(gè)字,它的韻律有兩個(gè)平平仄仄平平仄,仄仄平平仄仄平,這是唐詩(shī)的主要造形(Form)

3)秦朝的<書(shū)同文、車(chē)同軌>,加上唐朝的<詩(shī)同形>,有效的減法設(shè)計(jì),創(chuàng)造了大一統(tǒng)(加法)的輝煌國(guó)度。

4)君不見(jiàn),在前面各步驟里,諸如:從復(fù)雜中設(shè)計(jì)出簡(jiǎn)單、以需求檢驗(yàn)設(shè)計(jì)等都是基于有效的減法設(shè)計(jì),一方面給設(shè)備供貨商一個(gè)開(kāi)放的加法設(shè)計(jì)空間;另一方面則讓用戶享受從簡(jiǎn)單(來(lái)自減法設(shè)計(jì))中叫出復(fù)雜的滿足感。

5)此外,在前面各步驟里,諸如:EIT造形、通用性接口和軟件框架(框住某些東西)等,則是減法設(shè)計(jì)的實(shí)踐技術(shù);基于這些有效的減法設(shè)計(jì)途徑,才能大幅開(kāi)放加法設(shè)計(jì);因而落實(shí)了:從簡(jiǎn)單中掌握復(fù)雜。


演練:


前言:

? ? 于此,將聯(lián)合運(yùn)用前面所學(xué)到的思考技術(shù),以框架及其所含的EIT造形來(lái)實(shí)踐有效的減法設(shè)計(jì)。EIT造形明確表述Socket軟件界面,藉由兩個(gè)<E&I>包容包容TCP/IP通信協(xié)議和硬件機(jī)制,實(shí)踐開(kāi)放的加法設(shè)計(jì);讓通信協(xié)議和硬件機(jī)制都可以彈性抽換,架構(gòu)設(shè)計(jì)具有未來(lái)性。

? ? 由于EIT造形的主角就是接口<I>,架構(gòu)師就拿<I>來(lái)做為起點(diǎn)(Simple Design),設(shè)計(jì)出通用性<E&I>;其一方面容納客戶未來(lái)抉擇的改變,也就是包容未來(lái)<T>的多變化;另一方面,則包容未來(lái)TCP/IP通信協(xié)議的快速演變,或者換掉TCP/IP而改用其它通信協(xié)議。于是,架構(gòu)師的目前決策(決定如何定義接口)具有高度未來(lái)性了。接著,規(guī)劃測(cè)試機(jī)制,架構(gòu)師繼續(xù)兩個(gè)Mock<T>,做為贗品(Mock)來(lái)配合<E&I>來(lái)對(duì)通信協(xié)議進(jìn)行測(cè)試。

? ? 最后,迅速將接口(<E&I><T>)落實(shí)為代碼(請(qǐng)看下述高老師寫(xiě)的范例代碼),就能進(jìn)行實(shí)機(jī)測(cè)試(通信協(xié)議)了。(請(qǐng)看下述高老師寫(xiě)的范例代碼)

? ? 在這些步驟里,諸如:EIT造形、通用性接口和軟件框架(框住某些東西)等,則是減法設(shè)計(jì)的實(shí)踐技術(shù)。基于這些有效的減法設(shè)計(jì)途徑,才能大幅開(kāi)放加法設(shè)計(jì);一方面容納客戶未來(lái)抉擇的改變,也就是包容未來(lái)<T>的多變化;另一方面,則包容未來(lái)TCP/IP通信協(xié)議的快速演變。因而落實(shí)了:從簡(jiǎn)單中掌握復(fù)雜。


Step-1. 基于第二步驟的第2種比喻:

? “架構(gòu)像一棵樹(shù)的樹(shù)干。由于樹(shù)根必須不斷成長(zhǎng),擁有隨環(huán)境而變動(dòng)的自由度和活力;才能有效吸收更多水分和養(yǎng)分。這項(xiàng)比喻讓架構(gòu)師關(guān)心底層模塊(Module)的變動(dòng)自由度。具有活力的樹(shù)根和樹(shù)干,才能有效之撐上層業(yè)務(wù)應(yīng)用的蓬勃發(fā)展。如下圖:


Step-2.基于第一步驟的第2種抽象視角:

? “第二種抽象視角:架構(gòu)師基于<形與內(nèi)涵分離>的視角,由于不同內(nèi)涵之間的<變與不變分離>已經(jīng)由第一種視角所抽象了。這個(gè)視角可從內(nèi)涵中抽像出共同之形,也可以(無(wú)中生有地)創(chuàng)造一種造形(Form)來(lái)容納內(nèi)涵(包括變與不變部分)。由于我們常常拿船運(yùn)業(yè)的集裝箱(Container)來(lái)比喻<造形>;而拿形形色色的貨品來(lái)比喻其(集裝箱)內(nèi)涵(Content)。所以上述的第二種視角,又稱(chēng)為<集裝箱式>抽象視角。

? ? 從小的造形(如函數(shù)、類(lèi)別、EIT),到較大的造形(如模式、框架等),都是都是軟件人員常用的<集裝箱>,集裝箱的簡(jiǎn)單造形是有效的減法設(shè)計(jì),其能容納天下萬(wàn)物,實(shí)踐了開(kāi)放的加法設(shè)計(jì)。例如,由軟件框架(Framework)來(lái)提供上層接口(API)和下層接口(PI)來(lái)實(shí)踐有效的減法設(shè)計(jì);其包容上層多樣化的應(yīng)用軟件,也包容底層硬件和通信機(jī)制的善變,則支持開(kāi)放的加法設(shè)計(jì)。如今,無(wú)論是AndroidiOS或云平臺(tái),幾乎都采取這種架構(gòu)。如下圖:


? ?例如,下圖里的通信協(xié)議就屬于樹(shù)根的部分,應(yīng)該開(kāi)放加法;亦即我們必須包容它的不斷變化、更新與成長(zhǎng)。


此時(shí),就能使用框架(有效減法)來(lái)包容通信協(xié)議的彈性變化(開(kāi)放加法)


Step-3.依循第七步驟:清晰而明確表述接口其有效的做法是:擅用框架里的EIT造形(Form)架構(gòu)師認(rèn)知到兩個(gè)接口的存在,如下圖:


? ? 藉由EIT造形<I>來(lái)明確地<定義>上圖里的接口,并藉由<E><T>來(lái)輔助其清晰表達(dá)接口的<涵意>。因此,使用兩個(gè)EIT造形分別來(lái)表述一個(gè)接口。


? ?藉由這兩個(gè)EIT造形將三項(xiàng)善變的內(nèi)涵分離開(kāi)來(lái),如下圖:


? ?其中,利用兩個(gè)<E>的聯(lián)合來(lái)包容樹(shù)根(通信協(xié)議內(nèi)涵)部分的加法設(shè)計(jì),如下圖:


? ? 然后,利用兩個(gè)<T>分別包容樹(shù)梢(智慧家庭和交通車(chē)聯(lián)網(wǎng)內(nèi)涵)部分的加法設(shè)計(jì),如下圖:


Step-4.依循第八步驟:盡快對(duì)接口進(jìn)行檢驗(yàn)和測(cè)試上圖只是架構(gòu)師腦海里的設(shè)計(jì)而已,那么又如何確保它是可落地的呢?因此,需要盡快落實(shí)為代碼,并立即進(jìn)行檢驗(yàn)和測(cè)試。此時(shí)針對(duì)實(shí)際的<通信協(xié)議>來(lái)測(cè)試,例如上圖里采納軟件的Socket接口和 TCP/IP實(shí)體通信協(xié)議。如下圖:


? ?于是,就以EIT造形明確表述Socket軟件界面,如下圖:


? ?其中,藉由兩個(gè)<E&I>包容包容通信協(xié)議和硬件機(jī)制,讓通信協(xié)議和硬件機(jī)制都可以彈性抽換,架構(gòu)設(shè)計(jì)具有未來(lái)性。接著,就是規(guī)劃測(cè)試機(jī)制,準(zhǔn)備測(cè)試兩個(gè)<I>是否能有效包容通信協(xié)議的技術(shù)變遷;進(jìn)而對(duì)通信機(jī)制的能量進(jìn)行可靠性測(cè)試。于是,基于EIT造形是<基類(lèi)/子類(lèi)>的結(jié)構(gòu),<E>是基類(lèi)(Super class)<T>是子類(lèi)(Subclass),架構(gòu)師設(shè)計(jì)兩個(gè)<E&I>,并設(shè)計(jì)兩個(gè)Mock<T>。如下圖:


? ? 所謂Mock代碼,就意味著并沒(méi)有真正聯(lián)結(jié)到<智能家庭系統(tǒng)><交通車(chē)聯(lián)網(wǎng)>;而只是做個(gè)贗品(Mock)來(lái)配合<E&I>來(lái)進(jìn)行測(cè)試而已。[歡迎光臨高煥堂的博客首頁(yè):http://www.cnblogs.com/myEIT/ ]。


Step-5.依循第九步驟:設(shè)計(jì)通用性接口,成為框架(Framework)核心要素構(gòu)師想象EIT造形就是<基類(lèi)/子類(lèi)>的結(jié)構(gòu),<E>是基類(lèi)(Super class)<T>是子類(lèi)(Subclass),而<I>則實(shí)現(xiàn)為基類(lèi)里的抽象函數(shù)(Abstractfunction)。于是,設(shè)計(jì)出兩個(gè)<I>接口,如下圖里的紅色框框部分:


? ?就能直接寫(xiě)成代碼,進(jìn)行實(shí)機(jī)測(cè)試(通信協(xié)議)了。EIT造形的主角就是接口<I>,架構(gòu)師就拿<I>來(lái)做為起點(diǎn)(Simple Design),設(shè)計(jì)出通用性<E><I>來(lái)容納客戶未來(lái)抉擇的改變,也就是包容未來(lái)<T>的多變化。例如,包容未來(lái)TCP/IP通信協(xié)議的快速演變,或者換掉TCP/IP而改用其它通信協(xié)議。于是,架構(gòu)師的目前決策(決定如何定義接口)具有高度未來(lái)性了。


Step-6. 最后,請(qǐng)看高煥堂老師所撰寫(xiě)的”Socket+EIT造形范例代碼,如下:

本范例代碼摘自網(wǎng)頁(yè):

http://bbs.51cto.com/thread-1085282-1.html

高老師將之改為EIT造形架構(gòu)。


請(qǐng)看代碼=> 客戶端的<EIT造形+ Socket代碼>

請(qǐng)看代碼=> 服務(wù)端的<EIT造形+ Socket代碼>


~ End ~


總結(jié)

以上是生活随笔為你收集整理的演练:有效减法设计,才能开放加法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。