初學者剛接觸程式語言時常會聽到Override與Overload,但常分不清其中的差別,我以兩個簡單的C++範例說明一下。
 

橘子亂說話 發表在 痞客邦 留言(4) 人氣()


 
定義 :

橘子亂說話 發表在 痞客邦 留言(0) 人氣()

這學期剛上完Design Pattern的課程,使用的教科書是 J. Vlissides. 1998. Pattern Hatching: Design Patterns Applied. Addison-Wesley Longman Ltd. 這本書的作者跟老師是很好的朋友,Gang of Four之一,作者提到書中所有的設計都離不開兩大宗旨, Favor object composition over class inheritanceProgram to interface not implementation ,這篇會稍微介紹紀錄一下兩個要點目的是什麼,之後再慢慢介紹其他的pattern。

橘子亂說話 發表在 痞客邦 留言(0) 人氣()

What is SOLID?
程序設計領域, SOLID(單一功能、開閉原則、里氏替換、接口隔離以及依賴反轉)是由羅伯特·C·馬丁在21世紀早期引入的記憶術首字母縮略字,指代了物件導向編程物件導向設計的五個基本原則。當這些原則被一起應用時,它們使得一個程式設計師開發一個容易進行軟體維護和擴展的系統變得更加可能。[1] SOLID所包含的原則是通過引發編程者進行軟體原始碼代碼重構進行軟體的代碼異味清掃,從而使得軟體清晰可讀以及可擴展時可以應用的指南。SOLID被典型的應用在測試驅動開發上,並且是敏捷開發以及自適應軟體開發的基本原則的重要組成部分。

橘子亂說話 發表在 痞客邦 留言(0) 人氣()


Observer pattern 觀察者模式 (訪問者模式): 
這個模式的基本想法如下:首先我們擁有一個由許多對象構成的對象結構,這些對象的都擁有一個accept方法用來接受訪問者對象;訪問者是一個接口,它擁有一個visit方法,這個方法對訪問到的對象結構中不同類型的元素作出不同的反應;在對象結構的一次訪問過程中,我們遍歷整個對象結構,對每一個元素都實施accept方法,在每一個元素的accept方法中回調訪問者的visit方法,從而使訪問者得以處理對象結構的每一個元素。我們可以針對對象結構設計不同的實在的訪問者類來完成不同的操作。 通常使用在訂閱或需要推播的系統上。

橘子亂說話 發表在 痞客邦 留言(0) 人氣()


MVC模式最早由Trygve Reenskaug在1978年提出 ,是全錄帕羅奧多研究中心(Xerox PARC)在20世紀80年代為程式語言Smalltalk發明的一種軟體架構。MVC模式的目的是實現一種動態的程式設計,使後續對程式的修改和擴充功能簡化,並且使程式某一部分的重複利用成為可能。除此之外,此模式通過對複雜度的簡化,使程式結構更加直覺。軟體系統通過對自身基本部分分離的同時也賦予了各個基本部分應有的功能。專業人員可以通過自身的專長分組:

橘子亂說話 發表在 痞客邦 留言(0) 人氣()


功能性需求(Functional Requirements) : 
定義一個軟體系統或元件的功能,也是一個系統需提供的功能及服務。功能可以用一組輸入、行為及輸出的組合來表示。功能需求可以是計算、技術細節、資料處理或其他說明系統希望達成功能的內容。

橘子亂說話 發表在 痞客邦 留言(1) 人氣()

Extreme programming (XP) 

橘子亂說話 發表在 痞客邦 留言(0) 人氣()

由來 : 
先來說一說敏捷宣言的歷史吧,2001年2月,Martin Fowler,Jim Highsmith等17位著名的軟件開發專家齊聚在美國猶他州雪鳥滑雪聖地,舉行了一次敏捷方法發起者和實踐者的聚會。在這次會議上面,他們正式提出了Agile(敏捷開發)這個概念,並共同簽署了《敏捷宣言》。

橘子亂說話 發表在 痞客邦 留言(0) 人氣()

RUP 統一軟體開發過程(Rational Unified Process,RUP)

橘子亂說話 發表在 痞客邦 留言(0) 人氣()


Boehm's spiral model (Risk-Driven) :
圖片來源 : 維基百科

橘子亂說話 發表在 痞客邦 留言(0) 人氣()


Incremental delivery
增量式交付方法是介於瀑布式模型演進式開發兩個模型之間的開發方法,它結合了這兩個模型的優點。

橘子亂說話 發表在 痞客邦 留言(0) 人氣()

Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。