面向?qū)ο蠛兔嫦蜻^程最大的區(qū)別就是抽象出來可重用的代碼,進行封裝,代碼服用,而不是面向過程的,以基本的函數(shù)調(diào)用為基礎(chǔ),以及結(jié)構(gòu)化的設(shè)計,將具體的方法在父類或者子類實現(xiàn),這樣的話不利于擴展。而是面向接口編程,將父類抽象,實現(xiàn)用其他的類去完成,子類只需要去調(diào)用就可以。這樣的代碼擴展行好,在子類調(diào)用就可以根據(jù)不同的子類調(diào)用不同的實現(xiàn)子類的功能,實現(xiàn)多態(tài)。
? ? 最重要的幾個思想是:優(yōu)先使用組合,而不是繼承;面向接口編程;將變化的部分和不變的部分分離,發(fā)現(xiàn)變化封裝變化。這三點。
? 面向?qū)ο蟮脑O(shè)計有以下5個設(shè)計原則:其一,單一職責原則,一個類只應(yīng)該有一個引起它變化的原因
其二,接口隔離,一個類應(yīng)該調(diào)用最小化的接口
其三,開閉原則,對修改關(guān)閉,對擴展開放
其三,里氏替換原則,子類可以完全替換父類對象,而不會對父類的調(diào)用產(chǎn)生影響
其四,依賴倒置原則,上層的抽象不應(yīng)該依賴底層,且都依賴于抽象