蔣 帥 姚亞楠 段福玉 魏 然
(1.西京學(xué)院,陜西 西安 710000;2.呂梁學(xué)院,山西 呂梁 033000;3.中國礦業(yè)大學(xué)徐海學(xué)院,江蘇 徐州 221000;4.中北大學(xué)信息商務(wù)學(xué)院,山西 晉中 030600)
想要成功地開發(fā)出一個管理信息系統(tǒng),需要用到非常多的軟件,而面向?qū)ο蟪潭仍O(shè)計和面向過程程序設(shè)計都能夠完成管理信息系統(tǒng)的設(shè)計。雖然二者都能夠獨立完成,但二者在設(shè)計過程中卻存在本質(zhì)上的區(qū)別。二者均屬于非常成熟和典型的開發(fā)方法。本文對于二者的區(qū)別進(jìn)行了深入探討。
對象的含義是指具體的某一個事物,即在現(xiàn)實生活中能夠看得見摸得著的事物。在面向?qū)ο蟪绦蛟O(shè)計中,對象所指的是計算機(jī)系統(tǒng)中的某一個成分。在面向?qū)ο蟪绦蛟O(shè)計中,對象包含兩個含義,其中一個是數(shù)據(jù),另外一個是動作。對象則是數(shù)據(jù)和動作的結(jié)合體。對象不僅能夠進(jìn)行操作,同時還能夠及時記錄下操作結(jié)果。
方法是指對象能夠進(jìn)行的操作,方法同時還有另外一個名稱,叫做函數(shù)。方法是類中的定義函數(shù),其具體的作用就是對對象進(jìn)行描述操作。
繼承簡單地說就是一種層次模型,這種層次模型能夠被重用。層次結(jié)構(gòu)的上層具有通用性,但是下層結(jié)構(gòu)則具有特殊性。在繼承的過程中類則可以從最頂層的部分繼承一些方法和變量。類除了可以繼承以外同時還能夠進(jìn)行修改或者添加。通過這樣的方式能夠有效提高工作效率。在這里舉一個例子,當(dāng)類X繼承了類Y后,此時的類X則是一個派生類,而類Y屬于一個基類。
面向過程程序設(shè)計最為基礎(chǔ)的就是程序的設(shè)計思想,在整個設(shè)計過程中反復(fù)強(qiáng)調(diào)程序結(jié)構(gòu)的規(guī)范化,因為只有程序結(jié)構(gòu)的規(guī)范化才能夠順利開展后續(xù)的設(shè)計內(nèi)容。面向過程程序所強(qiáng)調(diào)的結(jié)構(gòu)規(guī)范化是:順序、選擇、循環(huán)三個結(jié)構(gòu),這三個結(jié)構(gòu)為最基礎(chǔ)性的結(jié)構(gòu)。
面向過程程序設(shè)計是以算法為核心,并且將整個數(shù)據(jù)的處理過程都單獨進(jìn)行處理。將數(shù)據(jù)和代碼進(jìn)行分離,能夠有效地解決計算機(jī)觀點性的問題。計算機(jī)在解決問題的過程中是分步驟進(jìn)行處理,因此想要計算機(jī)進(jìn)行某種功能操作,就必須告訴計算機(jī)具體的操作步驟。這樣才能夠保證計算機(jī)進(jìn)行高效地運(yùn)作。由此可見,面向過程程序設(shè)計本質(zhì)就是按照計算機(jī)的要求,然后圍繞預(yù)先設(shè)計好的算法進(jìn)行程序設(shè)計。
面向過程程序設(shè)計可以看做一個金字塔的模式,整個設(shè)計過程是自上而下進(jìn)行設(shè)計,并且逐步解決問題。設(shè)計過程是將每個功能都具體劃分為各個模塊,然后通過參數(shù)傳遞的方式實現(xiàn)每個模塊上的功能。如果要進(jìn)一步理解模塊的話,可以具體理解為函數(shù)、過程、子程序以及宏等等。
面向?qū)ο蟪绦蛟O(shè)計與面向過程程序設(shè)計最為主要的區(qū)別就是,面對對象程序設(shè)計是盡可能地在模擬人類的思維。通過這樣的方式能夠讓開發(fā)的軟件更加符合人類的認(rèn)知,人們使用起來也能夠更加順手。并且通過應(yīng)用軟件能夠切實地解決現(xiàn)實生活中的問題。面向?qū)ο蟪绦蛟O(shè)計使得描述問題的問題空間和問題的解決方法空間組合在一起,并且盡可能地保持一致。能夠?qū)⒖陀^世界中的抽象問題轉(zhuǎn)化為具體的問題對象。面對過程程序設(shè)計的核心是算法,而面向?qū)ο蟪绦蛟O(shè)計的核心是對象。這樣的方法是由一些列的對象構(gòu)成。類在現(xiàn)實世界是抽象的,是一種靜態(tài)的數(shù)據(jù),而對象則能夠?qū)㈩惥唧w化。每個對象之間能夠互相傳遞信息,并且模擬現(xiàn)實世界中不同實體之間的關(guān)系,從而將問題進(jìn)行不斷細(xì)化。對于面向?qū)ο蟪绦蛟O(shè)計來說,對象是最為主要的一個模塊。
面向過程程序設(shè)計和面向?qū)ο蟪绦蛟O(shè)計有著本質(zhì)性的區(qū)別,二者各有各的好處,都能夠獨立開發(fā)出軟件。在具體的應(yīng)用過程中可以根據(jù)實際情況進(jìn)行選擇。面向?qū)ο蟪绦蛟O(shè)計能夠讓抽閑的問題變得具體,因此在解決問題的過程中能夠更加方便和快捷。面向?qū)ο蟪绦蛟O(shè)計主要采用的方式是不斷模擬人類的思維模式。用對象的分解取代面向過程方法學(xué)中的功能分解。