几句禅语的解释
-
看山是山,看山不是山,看山還是山
?
宋代禪宗大師青原行思提出參禪的三重境界:參禪之初,看山是山,看水是水;禪有悟時(shí),看山不是山,看水不是水;禪中徹悟,看山仍然山,看水仍然是水。直白一點(diǎn)就是說:人之初,性本善,大家剛開始的時(shí)候都是一張白紙,都很單純,即,看山是山;隨著閱歷逐漸豐富,經(jīng)歷過一些滄桑后,感覺這個(gè)世界太艱難了,累覺不愛,看水不是水;心態(tài)繼續(xù)蛻變,返璞歸真后,重新以單純的角度來看待這個(gè)世界,頓悟,看山仍然是山,看水仍然是水。這是這三重境界的本意。
?
這句禪語還可以用于抽象思維與具象思維的聯(lián)系。“看山是山”,即分析具體問題;“看山不是山”,就是將具體的問題進(jìn)行提煉,抽象,形成一套架構(gòu)設(shè)計(jì)和解決方案,可以適用于所有類似的具體問題;“看山還是山”,就是一個(gè)驗(yàn)證解決方案的過程。將抽象出的架構(gòu)用于解決具體的問題,根據(jù)效果來不斷改進(jìn),優(yōu)化原有的設(shè)計(jì)。這是一個(gè)從具象思維到抽象思維再回到具象思維的過程,我認(rèn)為任何架構(gòu)的設(shè)計(jì)都是基本符合這個(gè)過程的,抽象分析和具體分析,二者缺一不可。舉個(gè)工作中的例子:同事A針對(duì)一個(gè)問題設(shè)計(jì)出了兩套解決方案,這兩套方案本身是完全對(duì)立的,而且由于問題的復(fù)雜性,兩套方案都無法完美解決問題,需要評(píng)估各自的效果。同事A僅僅從抽象的理論上分析,兩套方案的效果是一樣的。但實(shí)際情況卻是:因?yàn)椴煌恢玫钠毓饴什煌?#xff0c;會(huì)導(dǎo)致兩套方案的效果出現(xiàn)極大的差距。可以簡(jiǎn)單總結(jié)下:抽象理論分析與具體問題分析都需要進(jìn)行,并且二者的效果是互補(bǔ)的。
?
-
大道至簡(jiǎn)
?
?
?
大道至簡(jiǎn),國外叫做奧卡姆剃刀原理,即解決方案應(yīng)該趨于簡(jiǎn)單而不是趨于復(fù)雜。這個(gè)原則說起來容易,做起來卻無比艱難。軟件工程的問題越來越復(fù)雜,沒有辦法依賴簡(jiǎn)單的答案來解決。提一下“沒有銀彈”這篇經(jīng)典的論文。該論文討論了次要復(fù)雜度和必要復(fù)雜度。次要復(fù)雜度是指由人們本身所產(chǎn)生的問題,比如使用C++,java還是python. 這類問題是可以被比較快速地解決的。必要復(fù)雜度是指軟件本身要解決的問題,比如復(fù)雜的業(yè)務(wù)場(chǎng)景,海量用戶訪問等等。設(shè)計(jì)模式有很多種,但沒有一種是萬能的。從復(fù)雜的問題中提取要點(diǎn),不斷進(jìn)行抽象,再結(jié)合具體問題進(jìn)行分析,在保證滿足業(yè)務(wù)需求的前提下,盡可能地簡(jiǎn)化方案,優(yōu)化方案,再考慮到未來可能變化的業(yè)務(wù)場(chǎng)景,避免過度設(shè)計(jì)。這大概就是架構(gòu)師的功力所在了吧。
?
?
?
-
架構(gòu)設(shè)計(jì)中的二八原則
?
?
?
二八原則適用于很多地方:20%的時(shí)間完成80%的工作,剩下20%的工作可能需要80%的時(shí)間才能完成。架構(gòu)設(shè)計(jì)中需要考慮到各種異常情況的處理,很多時(shí)候異常情況的處理才是最花費(fèi)時(shí)間的。但我認(rèn)為異常處理可能是非常關(guān)鍵的。我們花20%時(shí)間完成了80%的工作,同樣的,競(jìng)爭(zhēng)對(duì)手也可以在很短的時(shí)間內(nèi)完成80%的工作。那么,最后20%就是我們的可能的優(yōu)勢(shì)所在。好的用戶體驗(yàn),不只是讓用戶用得舒服,還需要不會(huì)讓用戶感到不舒服。那么,對(duì)異常情況的處理,可能正是保證體驗(yàn)的關(guān)鍵所在。
?
?
?
-
最近用到的架構(gòu)思想
?
?
?
配置化 配置化帶來高度靈活性
模塊解耦合 每個(gè)模塊只做一件事,保持單純
讀寫分離 提高性能的關(guān)鍵
cache 離業(yè)務(wù)層越近,cache命中程度越高,但可復(fù)用性越低
讀寫一致性 海量服務(wù)優(yōu)先保證性能,會(huì)故意損失一部分實(shí)時(shí)的數(shù)據(jù)一致性,但會(huì)絕對(duì)保證最終數(shù)據(jù)是一致的
?
轉(zhuǎn)載于:https://www.cnblogs.com/zourui4271/p/5051471.html
總結(jié)
- 上一篇: Oracle Database 9i/1
- 下一篇: C语言实验——求两个整数之中较大者