書(shū)籍封面 Java高手真經(jīng)(系統(tǒng)架構(gòu)卷):Java Web系統(tǒng)設(shè)計(jì)與架構(gòu)(UML建模+設(shè)計(jì)模式+面向服務(wù)架構(gòu))(附CD-ROM光盤(pán)1張)
書(shū)籍描述 Java高手真經(jīng)(系統(tǒng)架構(gòu)卷):Java Web系統(tǒng)設(shè)計(jì)與架構(gòu)(UML建模+設(shè)計(jì)模式+面向服務(wù)架構(gòu))(附CD-ROM光盤(pán)1張)
內(nèi)容簡(jiǎn)介
《Java高手真經(jīng)(系統(tǒng)架構(gòu)卷):Java Web系統(tǒng)設(shè)計(jì)與架構(gòu)(UML建模+設(shè)計(jì)模式+面向服務(wù)架構(gòu))》講解JavaWeb系統(tǒng)設(shè)計(jì)與架構(gòu),包括Java與UML建模技術(shù)、Java設(shè)計(jì)模式、面向服務(wù)架構(gòu)SOA、面向資源架構(gòu)ROA、面向云架構(gòu)COA,這5部分內(nèi)容層層遞進(jìn),涵蓋了Java EE開(kāi)發(fā)中的各種設(shè)計(jì)與架構(gòu)技術(shù)。講解的主要內(nèi)容包括如下。
Java與UML建模:講解UML建模的5類10種圖,包括用例圖、靜態(tài)圖(類圖、對(duì)象圖、包圖)、實(shí)現(xiàn)圖(組件圖、部署圖)、行為圖(狀態(tài)圖、活動(dòng)圖)、交互圖(序列圖、協(xié)作圖),并結(jié)合Bug管理系統(tǒng)、ATM取款機(jī)等實(shí)例進(jìn)行講解。
Java設(shè)計(jì)模式:包括5種創(chuàng)建型模式(工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式)、7種結(jié)構(gòu)型模式(適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式)、11種行為型模式(策略模式、模板方法模式、觀察者模式、迭代子模式、責(zé)任鏈模式、命令模式、備忘錄模式、狀態(tài)模式、訪問(wèn)者模式、中介者模式、解釋器模式),并通過(guò)Java中的經(jīng)典案例進(jìn)行展示。
面向服務(wù)架構(gòu)SOA:講解Web服務(wù)協(xié)議(SOAP、WSDL、UDDI)、Web服務(wù)開(kāi)發(fā)技術(shù)(使用JAX-WS、Axis開(kāi)發(fā)Web服務(wù))、SOA架構(gòu)技術(shù)(Sun公司的JBI和IBM/BEA公司的SCA/SDO、OSGi架構(gòu))、SOA延伸技術(shù)(BPEL業(yè)務(wù)流程管理、ESB企業(yè)服務(wù)總線與EAI企業(yè)應(yīng)用集成)、SOA擴(kuò)展應(yīng)用(Portal門(mén)戶組件與Portlet窗口組件)。
面向資源架構(gòu)ROA:講解REST產(chǎn)生的背景、概念、基本原理、設(shè)計(jì)方法,以及常用REST開(kāi)源框架、ROA面向資源架構(gòu)。
面向云架構(gòu)COA:講解云計(jì)算的幾個(gè)發(fā)展階段的概念,包括網(wǎng)格計(jì)算、集群計(jì)算、分布式計(jì)算和云計(jì)算,以及云服務(wù)的特點(diǎn)、實(shí)現(xiàn)形式和實(shí)際應(yīng)用。隨書(shū)附贈(zèng)光盤(pán)內(nèi)容為《Java高手真經(jīng)(系統(tǒng)架構(gòu)卷):Java Web系統(tǒng)設(shè)計(jì)與架構(gòu)(UML建模+設(shè)計(jì)模式+面向服務(wù)架構(gòu))》各種原型包、系統(tǒng)源程序。
《Java高手真經(jīng)(系統(tǒng)架構(gòu)卷):Java Web系統(tǒng)設(shè)計(jì)與架構(gòu)(UML建模+設(shè)計(jì)模式+面向服務(wù)架構(gòu))》適合作為Java相關(guān)培訓(xùn)機(jī)構(gòu)的教材,也可作為Java自學(xué)人員的參考手冊(cè)。
編輯推薦
《Java高手真經(jīng)(系統(tǒng)架構(gòu)卷):Java Web系統(tǒng)設(shè)計(jì)與架構(gòu)(UML建模+設(shè)計(jì)模式+面向服務(wù)架構(gòu))》:全面規(guī)劃Java弄好者的技術(shù)體系,實(shí)力暢銷書(shū)作者劉中兵開(kāi)發(fā)者突擊,攜Java研究室年度奉獻(xiàn)。
專業(yè)論壇技術(shù)交流、答疑
隨盤(pán)全書(shū)實(shí)例源代碼
贈(zèng)隨書(shū)手冊(cè)一本《為您規(guī)劃Java技術(shù)體系》
作者簡(jiǎn)介
Java研究室,是一支專注于Java/Java EE技術(shù)研究與應(yīng)用創(chuàng)新的專業(yè)型團(tuán)隊(duì),由一批來(lái)自于Sun、IBM、華為等國(guó)內(nèi)外知名軟件企業(yè)的技術(shù)專家、資深工程師和架構(gòu)設(shè)計(jì)師組成。
Java研究室成員擅長(zhǎng)于Java EE系統(tǒng)的架構(gòu)設(shè)計(jì)、程序開(kāi)發(fā)、軟件測(cè)試和集群與分布式部署。在Java/Java EE、企業(yè)應(yīng)用、無(wú)線互聯(lián)網(wǎng)與網(wǎng)絡(luò)通信等領(lǐng)域擁有豐富的項(xiàng)目實(shí)戰(zhàn)經(jīng)驗(yàn).曾為多家國(guó)內(nèi)外大型企業(yè)開(kāi)發(fā)和實(shí)施過(guò)大型應(yīng)用系統(tǒng)。擁有最前沿的技術(shù)實(shí)戰(zhàn)經(jīng)驗(yàn)。
Java研究室致力于Java技術(shù)的精煉與傳播,旨在將自身實(shí)踐的第一手經(jīng)驗(yàn)傳遞給大家,目前專注于Java、Java Web、Java EE和數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù),撰寫(xiě)的“開(kāi)發(fā)者突擊”、“Web 2.0動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)”、“開(kāi)發(fā)巨匠”等多個(gè)暢銷系列圖書(shū)深受廣大讀者歡迎。
Java研究室今隆重向讀者介紹最新撰寫(xiě)的“Java高手真經(jīng)”系列。是國(guó)內(nèi)首次凝練完整科學(xué)的Java技術(shù)體系,深入剖析了、Java技術(shù)體系中的各個(gè)核心技術(shù),希望可以為您的技術(shù)精修之道提供獨(dú)具價(jià)值的學(xué)習(xí)指南。
劉中兵,應(yīng)用數(shù)學(xué)專業(yè),曾任職于清華同方、NEC等企業(yè),長(zhǎng)期深入Java/Java EE大型企業(yè)應(yīng)用的架構(gòu)、設(shè)計(jì)與開(kāi)發(fā)工作,目前專注于手機(jī)無(wú)線互聯(lián)網(wǎng)與網(wǎng)絡(luò)通信領(lǐng)域的架構(gòu)設(shè)計(jì)與研究工作。
目錄
緒論 軟件設(shè)計(jì)與架構(gòu)概述/1
一.Java與UML建模/1
二.Java設(shè)計(jì)模式/2
1.創(chuàng)建型模式
2.結(jié)構(gòu)型模式
3.行為型模式
三.系統(tǒng)架構(gòu)/4
1.面向服務(wù)架構(gòu)SOA
2.面向資源架構(gòu)ROA
3.面向云架構(gòu)COA
第1部分 Java與UML建模
第1課 UML快速入門(mén)/9
1.1 UML建模概述/9
1.1.1 面向?qū)ο蠓椒?10
1.1.2 面向?qū)ο蠼MT/10
1.1.3 統(tǒng)一建模語(yǔ)言UML/11
1.1.4 UML的起源和發(fā)展/11
1.1.5 為什么要使用UML/12
1.2 UML基本構(gòu)成元素/13
1.2.1 4種事物/13
1.結(jié)構(gòu)事物(StructuralThings)
2.行為事物(BehavioralThings)
3.分組事物(GroupingThings)
4.注釋事物(AnnotationalThings)
1.2.2 4種關(guān)系/16
1.依賴(Dependencies)
2.關(guān)聯(lián)(Association)
3.泛化(Generalization)
4.實(shí)現(xiàn)(Realization)
1.2.3 10種圖/17
1.用例圖(UsecaseDiagram)
2.類圖(ClassDiagram)
3.對(duì)象圖(ObjectDiagram)
4.包圖(PackageDiagram)
5.組件圖(CompomentDiagram)
6.部署圖(DeploymentDiagram)
7.狀態(tài)圖(StatechartDiagram)
8.活動(dòng)圖(ActivityDiagram)
9.序列圖(SequenceDiagram)
10.協(xié)作圖(CollaborationDiagram)
1.2.4 UML圖的分類/22
1.3 UML設(shè)計(jì)工具/24
1.3.1 使用Rose進(jìn)行UML建模/24
1.3.2 使用Visio進(jìn)行UML建模/25
1.4 本課小結(jié)/27
1.4.1 本課圖例打包uml.mdl/27
1.4.2 總結(jié)本課的知識(shí)點(diǎn)/27
1.4.3 要掌握的關(guān)鍵點(diǎn)/28
1.4.4 課后上機(jī)作業(yè)/29
1.4.5 繼續(xù)下一課:用例圖/29
第2課 用例圖/31
2.1 用例概述/31
2.1.1 什么是用例/31
2.1.2 為什么要使用用例/32
2.1.3 用例圖的基本模型元素/32
2.2 用例圖的繪制/33
2.2.1 參與者的表示法/33
2.2.2 用例的表示法/34
2.2.3 系統(tǒng)邊界的表示法/35
2.2.4 通信關(guān)聯(lián)的表示法/35
2.3 用例圖的建立過(guò)程/36
2.3.1 發(fā)現(xiàn)參與者及檢查標(biāo)準(zhǔn)/36
2.3.2 發(fā)現(xiàn)用例及檢查標(biāo)準(zhǔn)/37
2.3.3 編寫(xiě)用例規(guī)約/37
2.3.4 用例圖創(chuàng)建技巧/38
2.4 本課小結(jié)/39
2.4.1 本課圖例打包usecase.mdl/39
2.4.2 總結(jié)本課的知識(shí)點(diǎn)/40
2.4.3 要掌握的關(guān)鍵點(diǎn)/40
2.4.4 課后上機(jī)演練-企業(yè)產(chǎn)品生產(chǎn)銷售管理系統(tǒng)/41
2.4.5 繼續(xù)下一課:靜態(tài)圖-類圖,對(duì)象圖,包圖/42
第3課 靜態(tài)圖-類圖.對(duì)象圖.包圖/43
3.1 類圖的繪制/43
3.1.1 類圖的表示法/43
1.類圖的表示法/
2.類圖屬性的表示法/
3.類圖操作的表示法
3.1.2 接口的表示法/46
3.1.3 類圖之間的4種關(guān)系/46
1.泛化關(guān)系(Generalization)-表示類的繼承
2.關(guān)聯(lián)關(guān)系(Association)-表示類的變量
3.依賴關(guān)系(Dependency)-表示局部變量
4.實(shí)現(xiàn)關(guān)系(Realization)-表示接口的實(shí)現(xiàn)
3.2 對(duì)象圖的繪制/50
3.2.1 對(duì)象圖的表示法/50
3.2.2 對(duì)象圖的使用場(chǎng)景-序列圖和協(xié)作圖/50
3.3 包圖的繪制/52
3.3.1 包圖的表示法/52
3.3.2 使用包包含類/52
3.3.3 使用包包含子包/53
3.3.4 包的依賴關(guān)系/53
3.4 本課小結(jié)/54
3.4.1 本課圖例打包c(diǎn)lass.mdl/54
3.4.2 總結(jié)本課的知識(shí)點(diǎn)/57
3.4.3 課后上機(jī)演練-企業(yè)信息管理系統(tǒng)用戶登錄和注冊(cè)模塊/58
3.4.4 繼續(xù)下一課:實(shí)現(xiàn)圖-組件圖與部署圖/59
第4課 實(shí)現(xiàn)圖-組件圖與部署圖/61
4.1 組件圖的繪制/61
4.1.1 組件的表示法/61
4.1.2 程序的表示法/62
1.子程序規(guī)范/
2.子程序體/
3.主程序
4.1.3 包的表示法/62
1.包規(guī)范/
2.包體
4.1.4 任務(wù)的表示法/63
1.任務(wù)規(guī)范/
2.任務(wù)體
4.1.5 組件之間的依賴/63
4.2 部署圖的繪制/64
4.2.1 處理器節(jié)點(diǎn)的表示法/64
4.2.2 設(shè)備節(jié)點(diǎn)的表示法/64
4.2.3 節(jié)點(diǎn)之間的關(guān)聯(lián)/64
4.3 本課小結(jié)/65
4.3.1 本課圖例打包c(diǎn)omponent.mdl/65
4.3.2 總結(jié)本課的知識(shí)點(diǎn)/66
4.3.3 要掌握的關(guān)鍵點(diǎn)/67
4.3.4 課后上機(jī)演練-企業(yè)信息管理系統(tǒng)部署圖/67
4.3.5 繼續(xù)下一課:行為圖-狀態(tài)圖/68
第5課 行為圖-狀態(tài)圖/69
5.1 狀態(tài)圖的繪制/69
5.1.1 狀態(tài)圖的基本模型/69
5.1.2 狀態(tài)的表示法/70
5.1.3 轉(zhuǎn)換的表示法/71
5.2 狀態(tài)的繪制/72
5.2.1 初始狀態(tài)的表示法/72
5.2.2 終止?fàn)顟B(tài)的表示法/73
5.2.3 子狀態(tài)的表示法/73
5.2.4 歷史狀態(tài)的表示法/73
5.3 本課小結(jié)/74
5.3.1 本課圖例打包statechart.mdl/74
5.3.2 總結(jié)本課的知識(shí)點(diǎn)/75
5.3.3 要掌握的關(guān)鍵點(diǎn)/75
5.3.4 課后上機(jī)演練/75
1.Bug管理系統(tǒng)狀態(tài)圖/
2.ATM機(jī)存取款狀態(tài)圖/
3.Java線程類Thread的狀態(tài)圖
5.3.5 繼續(xù)下一課:行為圖-活動(dòng)圖/78
第6課 行為圖-活動(dòng)圖/81
6.1 活動(dòng)圖的繪制/81
6.1.1 活動(dòng)圖的基本模型/81
6.1.2 活動(dòng)的表示法/82
6.1.3 轉(zhuǎn)換的表示法/83
6.1.4 分支與合并的表示法/84
6.1.5 分叉與匯合的表示法/84
6.1.6 泳道的表示法/85
6.2 本課小結(jié)/87
6.2.1 本課圖例打包activity.mdl/87
6.2.2 總結(jié)本課的知識(shí)點(diǎn)/88
6.2.3 要掌握的關(guān)鍵點(diǎn)/88
6.2.4 課后上機(jī)演練/89
1.Bug管理系統(tǒng)活動(dòng)圖/
2.ATM機(jī)存取款活動(dòng)圖/
3.Java線程類Thread的活動(dòng)圖
6.2.5 繼續(xù)下一課:交互圖-序列圖/91
第7課 交互圖-序列圖/93
7.1 序列圖的繪制/93
7.1.1 序列圖的基本模型/93
7.1.2 對(duì)象生命線的表示法/94
7.1.3 激活的表示法/95
7.1.4 消息的表示法/95
7.1.5 自調(diào)用消息的表示法/97
7.2 本課小結(jié)/97
7.2.1 本課圖例打包sequence.mdl/97
7.2.2 總結(jié)本課的知識(shí)點(diǎn)/98
7.2.3 要掌握的關(guān)鍵點(diǎn)/98
7.2.4 課后上機(jī)演練/98
1.Bug管理系統(tǒng)序列圖/
2.ATM機(jī)存取款序列圖/
3.打電話序列圖
7.2.5 繼續(xù)下一課:交互圖-協(xié)作圖/102
第8課 交互圖-協(xié)作圖/103
8.1 協(xié)作圖的繪制/103
8.1.1 協(xié)作圖的基本模型/103
8.1.2 對(duì)象的表示法/104
8.1.3 連接的表示法/104
8.1.4 消息的表示法/104
8.1.5 自調(diào)用消息的表示法/105
……
第9課 使用UML進(jìn)行系統(tǒng)設(shè)計(jì)-Bug管理系統(tǒng)/111
第2部分 Java設(shè)計(jì)模式
第10課 設(shè)計(jì)模式概述/131
第11課 5種創(chuàng)建型模式/149
第12課 7種結(jié)構(gòu)型模式/181
第13課 11種行為型模式/233
第3部分 面向服務(wù)架構(gòu)SOA
第14課 Web服務(wù)協(xié)議-SOAP.WSDL.UDDI和WS協(xié)議集/309
第15課 Web服務(wù)開(kāi)發(fā)技術(shù)-使用JAX-WS開(kāi)發(fā)Web服務(wù)/335
第16課 Web服務(wù)開(kāi)發(fā)框架-使用Axis框架開(kāi)發(fā)Web服務(wù)/351
第17課 SOA面向服務(wù)架構(gòu)-Sun的JBI和IBM/BEA的SCA/SDO/367
第18課 JBI業(yè)務(wù)集成架構(gòu)-Java實(shí)現(xiàn)SOA的標(biāo)準(zhǔn)途徑/373
第19課 SCA服務(wù)組件架構(gòu)-實(shí)現(xiàn)SOA的最佳方式/381
第20課 SDO服務(wù)數(shù)據(jù)對(duì)象-SCA數(shù)據(jù)服務(wù)組件/411
第21課 OSGi體系架構(gòu)-SCA的一種實(shí)現(xiàn)方式/427
第22課 SOA延伸技術(shù)-BPEL業(yè)務(wù)流程管理.ESB企業(yè)服務(wù)總線與EAI企業(yè)應(yīng)用集成/445
第23課 SOA擴(kuò)展應(yīng)用-Portal門(mén)戶組件與Portlet窗口組件/457
第24課 SOA服務(wù)架構(gòu)開(kāi)發(fā)實(shí)戰(zhàn)-基于Tuscany+Spring的企業(yè)信息管理系統(tǒng)/465
第5部分 面向云架構(gòu)COA
第26課 COA面向云架構(gòu)-云計(jì)算與云架構(gòu)/533
第6部分 架構(gòu)師之路
第27課 軟件架構(gòu)師職業(yè)規(guī)劃/543
《高手真經(jīng)》系列后記/551
序言
一、本書(shū)培訓(xùn)舊標(biāo)
Java Web即Java EE,它是面向企業(yè)級(jí)的網(wǎng)絡(luò)系統(tǒng),其中的“企業(yè)級(jí)”和“網(wǎng)絡(luò)”(分布式)代表了JavaWeb開(kāi)發(fā)的核心目標(biāo)。在Java EE最新的規(guī)范中提供了進(jìn)行企業(yè)級(jí)開(kāi)發(fā)的框架組件EJB,并同時(shí)提供了多種分布式服務(wù)開(kāi)發(fā)技術(shù)方案,以及多種企業(yè)應(yīng)用的業(yè)務(wù)解決方案。
在進(jìn)行分布式架構(gòu)和設(shè)計(jì)中涉及到如下5個(gè)層次的技術(shù):
本書(shū)將針對(duì)這5個(gè)層次的技術(shù)進(jìn)行詳細(xì)講解:
如果說(shuō)1ava Web的各種技術(shù)與框架是構(gòu)建一個(gè)大廈的磚與梁,那么進(jìn)行Java Web系統(tǒng)的設(shè)計(jì)與架構(gòu),就是使用這些磚和梁來(lái)建造各種結(jié)構(gòu)和風(fēng)格的大廈,這就是軟件架構(gòu)設(shè)計(jì)的主旨。要進(jìn)行Java Web系統(tǒng)的架構(gòu)設(shè)計(jì),首先需要從抽象的層次對(duì)Java語(yǔ)言進(jìn)行各種基本功的訓(xùn)練。
(1)Java與UML建模:建模是進(jìn)行軟件架構(gòu)設(shè)計(jì)的表示工具,共5類10種圖,包括用例圖、靜態(tài)圖(類圖、對(duì)象圖、包圖)、實(shí)現(xiàn)圖(組件圖、部署圖)、行為圖(狀態(tài)圖、活動(dòng)圖)、交互圖(序列圖、協(xié)作圖)。
(2)Java設(shè)計(jì)模式:設(shè)計(jì)模式是進(jìn)行軟件架構(gòu)設(shè)計(jì)的代碼模式,共包括3種類型21種模式。
創(chuàng)建型模式(5種):抽象工廠/建造者/工廠方法/原型/單例。
結(jié)構(gòu)型模式(7種):適配器/橋接/組合/裝飾/外觀/享元/代理。
行為型模式(11種):責(zé)任鏈/命令/解釋器/迭代子/中介者/備忘錄/觀察者/狀態(tài)/策略/模板方法/訪 。
問(wèn)者。
然后訓(xùn)練各種風(fēng)格的架構(gòu)形式,除了Java Web高級(jí)技術(shù)中講解的分布式架構(gòu)外,還有3種架構(gòu)形式。
(3)面向服務(wù)架構(gòu)SOA:以WebService為基礎(chǔ),基于SOAP協(xié)議實(shí)現(xiàn)與各種語(yǔ)言系統(tǒng)的分布式調(diào)用,講解的技術(shù)包括:
Web服務(wù)協(xié)議(SOAP、WSDL、UDDI)。
Web服務(wù)開(kāi)發(fā)技術(shù)(使用JAX-WS、Axis開(kāi)發(fā)Web服務(wù))。
SOA架構(gòu)技術(shù)(Sun公司的JBI和IBM/BEA公司的SCA/SDO、OSGi架構(gòu))。
SOA延伸技術(shù)(BPEL業(yè)務(wù)流程管理、ESB企業(yè)服務(wù)總線與EAI企業(yè)應(yīng)用集成)。
SOA擴(kuò)展應(yīng)用(Portal門(mén)戶組件與Pottlet窗口組件)。
(4)面向資源架構(gòu)ROA:以資源的形式規(guī)劃網(wǎng)絡(luò)結(jié)構(gòu),將網(wǎng)絡(luò)上的各種增、刪、改、查的操作都定義為統(tǒng)一的URL資源,保持永久的唯一性,這就是Restful風(fēng)格。
(5)面向云架構(gòu)(20A:以云的形式提供廣闊的網(wǎng)絡(luò)服務(wù),讓用戶能夠隨時(shí)隨地利用互聯(lián)網(wǎng)做各種事情,講解的技術(shù)包括網(wǎng)格計(jì)算、集群計(jì)算、分布式計(jì)算、云計(jì)算。
以上內(nèi)容實(shí)際上也是進(jìn)行分布式架構(gòu)設(shè)計(jì)的完美詮釋。
文摘
插圖:
以前,我們?cè)谟肍ORTRAN、C語(yǔ)言進(jìn)行編程時(shí),使用了面向過(guò)程的程序設(shè)計(jì)方法,也就是所謂的結(jié)構(gòu)化方法。這種方法強(qiáng)調(diào)對(duì)系統(tǒng)功能進(jìn)行抽象,系統(tǒng)功能的實(shí)現(xiàn)是通過(guò)對(duì)若干個(gè)模塊的調(diào)用來(lái)完成的。這種方法并不能夠降低軟件開(kāi)發(fā)成本,提高軟件生產(chǎn)率。為了提高生產(chǎn)效率,便產(chǎn)生了面向?qū)ο蟮姆椒ā?br>在面向?qū)ο蠓椒ㄖ?,把客觀世界的實(shí)體稱為問(wèn)題對(duì)象,對(duì)象都有自己的運(yùn)動(dòng)狀態(tài)及運(yùn)動(dòng)規(guī)律,不同對(duì)象之間的相互作用和相互通信就構(gòu)成了完整的客觀世界。由于采用了數(shù)據(jù)抽象和封裝技術(shù),面向?qū)ο蟮某绦蛟O(shè)計(jì)降低了各模塊間的關(guān)聯(lián)程度,這就相對(duì)減少了程序員之間的相互影響。這項(xiàng)技術(shù)是在設(shè)計(jì)初期只有很少的程序員介入的情況下,通過(guò)在對(duì)象系統(tǒng)中建立一個(gè)高層次的通信環(huán)境來(lái)實(shí)現(xiàn)的,它使得今后更改引起的成本大大降低。使用面向?qū)ο蟮姆椒ㄔ敿?xì)定義用戶的數(shù)據(jù)類型,將它們封裝在一起又能夠提高代碼利用率。
面向?qū)ο蟮姆椒ㄖ袑?duì)象是核心,封裝、繼承和多態(tài)是面向?qū)ο蟮娜筇匦?。因此,面向?qū)ο蟮姆椒ǖ暮诵乃枷刖褪菍?duì)象、封裝、繼承與多態(tài)。
對(duì)象就是人們所感興趣的任何事物,它可以是有形的實(shí)體、某種作用及性能等。對(duì)象都有其運(yùn)動(dòng)狀態(tài)和運(yùn)動(dòng)規(guī)律,因此對(duì)象具有很強(qiáng)的表達(dá)能力和描述功能。對(duì)象中包含數(shù)據(jù)和對(duì)數(shù)據(jù)操作的代碼,它實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合。具有相同結(jié)構(gòu)、操作并遵守相同約束規(guī)則的對(duì)象的集合就是類。
封裝是一種組織軟件的方法,它的基本思想是把客觀世界中聯(lián)系緊密的元素及相關(guān)操作組織在一起,構(gòu)造具有獨(dú)立含義的軟件實(shí)現(xiàn),使其相互關(guān)系隱藏在內(nèi)部,而對(duì)外僅僅表現(xiàn)為與其他封裝體間的接口關(guān)系。封裝的目的就是信息隱匿。在面向?qū)ο蟮姆椒ㄖ?,是通過(guò)對(duì)象和類來(lái)實(shí)現(xiàn)封裝的。
繼承用于描述類之間的共同性質(zhì),它減少了相似類的重復(fù)說(shuō)明。繼承使得程序員對(duì)共同的操作及屬性只說(shuō)明一次,并且在具體的情況下可以擴(kuò)展、細(xì)化這些屬性及操作。