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



