軟件開發(fā)中三種編程思想的簡述
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
前言 在編程過程中,我們最重視的是編寫出高質(zhì)量的代碼,編程有一套指導(dǎo)理論,它幫助人們實(shí)現(xiàn)這種高質(zhì)量的代碼,這套編程理論我們稱為編程思想。在追求高質(zhì)量代碼的過程中演變出了三種不同且常用的編程思想,分別是:面向過程編程、面向?qū)ο缶幊?/strong>、面向切面編程。編程思想是一種思想,它與編程語言無關(guān),在這三種思想中沒有誰比誰更好,實(shí)際上面向過程將是代碼在內(nèi)存中最終的狀態(tài)。 面向過程編程面向過程編程(Procedure Oriented Programming 縮寫POP)是以問題實(shí)現(xiàn)過程為中心進(jìn)行思考和組織編寫代碼的一種編程方法,在編程設(shè)計(jì)中主要以過程、函數(shù)的方式按順序依次構(gòu)成。它是從實(shí)際出發(fā)來考慮如何實(shí)現(xiàn)與解決問題的一種基礎(chǔ)編程思考方式。 面向過程在實(shí)現(xiàn)與解決問題時(shí),先分析出解決問題的步驟,然后將各個(gè)步驟通過函數(shù)、過程、方法來實(shí)現(xiàn),最后將這些步驟嚴(yán)格按著順序組織起來一步一步執(zhí)行。編寫的代碼是線性的,嚴(yán)格按著順序的,側(cè)重解決步驟,著眼局部或者具體。 優(yōu)點(diǎn) 1、流程化、模塊化。 2、符合人類思維的自然順序,分工明確,能將實(shí)現(xiàn)的問題拆分清晰明了。 3、性能較高,沒有額外的封裝和繼承的開銷。 缺點(diǎn) 1、代碼重用性低,可擴(kuò)展性差,維護(hù)難度大。 2、對(duì)復(fù)雜問題模塊化難度較高,耦合度比較高。 面向?qū)ο缶幊?/span>對(duì)象:現(xiàn)實(shí)世界存在的任何事物都可以稱為對(duì)象,具有一些屬性和行為。如小汽車、蘋果、貓、狗。 特點(diǎn) 1、封裝,把客觀事物封裝成抽象的類,將數(shù)據(jù)、方法隱藏,只允許訪問部分信息。 2、繼承,可以讓某個(gè)類型的對(duì)象獲得另一個(gè)類型的對(duì)象的屬性的方法。 3、多態(tài),指一個(gè)類實(shí)例的相同方法在不同情形有不同表現(xiàn)形式。 優(yōu)點(diǎn) 1、結(jié)構(gòu)清晰,注重對(duì)象和職責(zé),不同的對(duì)象承擔(dān)不同的職責(zé)。 2、數(shù)據(jù)封裝,將數(shù)據(jù)部分隱藏,只允許訪問其中的部分?jǐn)?shù)據(jù)。 3、實(shí)現(xiàn)簡單,易維護(hù)與擴(kuò)展、代碼可重用。 缺點(diǎn) 1、由于對(duì)象之間的交互和信息傳遞,會(huì)犧牲一些性能,導(dǎo)致運(yùn)行效率低。 2、編程復(fù)雜度提升,簡單問題復(fù)雜化。 3、過度關(guān)注對(duì)象,可能會(huì)限制住自己解決實(shí)際問題的思路。 面向切面編程從*核心關(guān)注點(diǎn)*中抽離出*橫切關(guān)注點(diǎn)*是面向切面編程的核心。 優(yōu)點(diǎn) 1、將通用功能從業(yè)務(wù)邏輯中抽離,提高代碼復(fù)用性,有利于代碼的維護(hù)和擴(kuò)展。 2、降低了代碼的耦合性 ,實(shí)現(xiàn)各個(gè)功能之間的解耦。 3、提高代碼的可重用性與開發(fā)的效率。 缺點(diǎn) 1、面向?qū)ο缶幊痰难a(bǔ)充,需通過面向?qū)ο缶幊?span style="margin: 0px; padding: 0px; outline: 0px; max-width: 100%; font-size: 12pt; font-family: 宋體; color: rgb(34, 34, 34); box-sizing: border-box !important; overflow-wrap: break-word !important;">梳理業(yè)務(wù)后再抽取通用功能。 2、性能會(huì)有一些犧牲。 小結(jié)以上三種思想之間是一個(gè)相互補(bǔ)充和完善的關(guān)系。在復(fù)雜系統(tǒng)的開發(fā)過程中,這三種編程思想是不可或缺的。本文只對(duì)三種思想概念、優(yōu)缺點(diǎn)方面進(jìn)行了介紹,希望對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值。后續(xù)將結(jié)合C#語言是如何實(shí)現(xiàn)。 該文章在 2024/3/26 18:50:52 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |