程序設(shè)計(jì)的流程圖
程序設(shè)計(jì)是給出解決特定問題程序的過程,是軟件構(gòu)造活動(dòng)中的重要組成部分。以下是學(xué)習(xí)啦小編為大家整理的關(guān)于程序設(shè)計(jì)的流程圖,給大家作為參考,歡迎閱讀!
程序設(shè)計(jì)的流程圖
程序設(shè)計(jì)的方法
面向過程
面向過程的結(jié)構(gòu)化程序設(shè)計(jì)分三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
原則:
1,自頂向下:指從問題的全局下手,把一個(gè)復(fù)雜的任務(wù)分解成許多易于控制和處理的子任務(wù),子任務(wù)還可能做進(jìn)一步分解,如此重復(fù),直到每個(gè)子任務(wù)都容易解決為止。
2,逐步求精
3,模塊化:指解決一個(gè)復(fù)雜問題是自頂向下逐層把軟件系統(tǒng)劃分成一個(gè)個(gè)較小的、相對獨(dú)立但又相互關(guān)聯(lián)的模塊的過程。
注意事項(xiàng)
1,使用順序、選擇、循環(huán)等有限的基本結(jié)構(gòu)表示程序邏輯。
2,選用的控制結(jié)構(gòu)只準(zhǔn)許有一個(gè)入口和一個(gè)出口
3,程序語句組成容易識(shí)別的塊,每塊只有一個(gè)入口和一個(gè)出口。
4,復(fù)雜結(jié)構(gòu)應(yīng)該用基本控制結(jié)構(gòu)進(jìn)行組合或嵌套來實(shí)現(xiàn)。
5,程序設(shè)計(jì)語言中沒有的控制結(jié)構(gòu),可用一段等價(jià)的程序段模擬,但要求改程序段在整個(gè)系統(tǒng)中應(yīng)前后一致。
6,嚴(yán)格控制GOTO語句。
面向?qū)ο蟮某绦蛟O(shè)計(jì)
面向?qū)ο蟮幕靖拍?/p>
1,對象
2,類
3,封裝
4,繼承
5,消息
6,多態(tài)性
優(yōu)點(diǎn)
1,符合人們認(rèn)識(shí)事物的規(guī)律
2,改善了程序的可讀性
3,使人機(jī)交互更加貼近自然語言
面向切面程序設(shè)計(jì)
Aspect Oriented Programming(AOP),面向切面編程,是一個(gè)比較熱門的話題。AOP主要實(shí)現(xiàn)的目的是針對業(yè)務(wù)處理過程中的切面進(jìn)行提取,它所面對的是處理過程中的某個(gè)步驟或階段,以獲得邏輯過程中各部分之間低耦合性的隔離效果。比如我們最常見的就是日志記錄了,舉個(gè)例子,我們現(xiàn)在提供一個(gè)查詢學(xué)生信息的服務(wù),但是我們希望記錄有誰進(jìn)行了這個(gè)查詢。如果按照傳統(tǒng)的OOP的實(shí)現(xiàn)的話,那我們實(shí)現(xiàn)了一個(gè)查詢學(xué)生信息的服務(wù)接口(StudentInfoService)和其實(shí)現(xiàn)類 (StudentInfoServiceImpl.java),同時(shí)為了要進(jìn)行記錄的話,那我們在實(shí)現(xiàn)類(StudentInfoServiceImpl.java)中要添加其實(shí)現(xiàn)記錄的過程。這樣的話,假如我們要實(shí)現(xiàn)的服
務(wù)有多個(gè)呢?那就要在每個(gè)實(shí)現(xiàn)的類都添加這些記錄過程。這樣做的話就會(huì)有點(diǎn)繁瑣,而且每個(gè)實(shí)現(xiàn)類都與記錄服務(wù)日志的行為緊耦合,違反了面向?qū)ο蟮囊?guī)則。那么怎樣才能把記錄服務(wù)的行為與業(yè)務(wù)處理過程中分離出來呢?看起來好像就是查詢學(xué)生的服務(wù)自己在進(jìn)行,但卻是背后日志記錄對這些行為進(jìn)行記錄,并且查詢學(xué)生的服務(wù)不知道存在這些記錄過程,這就是我們要討論AOP的目的所在。AOP的編程,好像就是把我們在某個(gè)方面的功能提出來與一批對象進(jìn)行隔離,這樣與一批對象之間降低了耦合性,可以就某個(gè)功能進(jìn)行編程。
程序設(shè)計(jì)的流程圖相關(guān)文章:
3.程序算法流程圖