第一種境界:
了解各類框架、并熟悉甚至精通某種框架的使用,但并未看過框架代碼、或者并不理解框架核心細(xì)節(jié)的實(shí)現(xiàn),甚至不清楚框架的設(shè)計(jì)原理、基本思想、適用場(chǎng)景。這類人的編程思路始終限制在”特定框架“的范圍內(nèi),盡管能使用框架寫出滿足需求的代碼。
這種人停留在”會(huì)用“框架的階段,他們很在乎各種框架的比較,且一定要對(duì)框架分出三六九等。這些人寫代碼的思路始終沒有離開”功能實(shí)現(xiàn)“。
第二種境界:
精通各類框架,熟讀各類框架源碼,非常了解各類框架的核心功能的細(xì)節(jié)實(shí)現(xiàn),熟識(shí)各類框架的優(yōu)缺點(diǎn)和適用場(chǎng)景,權(quán)衡利弊后理性選擇相對(duì)適用業(yè)務(wù)邏輯的框架,并能根據(jù)業(yè)務(wù)的需要有針對(duì)性的修改框架核心代碼使之更加滿足可維護(hù)性和性能上的需求,但依然要基于某種框架進(jìn)行業(yè)務(wù)開發(fā),框架的范圍依然停留在組織代碼、第一層的抽象和組件的模塊化的范圍內(nèi)。
這種人停留在”精通“框架的階段。他們的特點(diǎn)是有能力去對(duì)框架做有針對(duì)性的二次封裝,甚至有些人有能力重寫框架核心代碼,但依然要基于某種框架做擴(kuò)展和hack。這些人寫代碼的思路始終在”代碼管理和框架級(jí)別的抽象“。
第三種境界:
異常精通各類框架,同時(shí)精通業(yè)務(wù)邏輯,嫻熟的對(duì)業(yè)務(wù)邏輯進(jìn)行抽象,具備傳統(tǒng)軟件工程師的基本素質(zhì),有能力設(shè)計(jì)業(yè)務(wù)框架,并根據(jù)業(yè)務(wù)邏輯的需要重寫合適的底層框架。這類人的編程思路已經(jīng)完全脫離“框架”的限制,達(dá)到一種真正自由超然的境界。
這種人已經(jīng)達(dá)到技術(shù)方和需求方一致認(rèn)可的“專家”級(jí)別,技術(shù)功底扎實(shí)、同時(shí)精通業(yè)務(wù)。他們寫代碼的思路已經(jīng)完全脫離“框架”,并始終圍繞業(yè)務(wù)邏輯,主要工作即為業(yè)務(wù)邏輯層面的抽象和接口設(shè)計(jì)。