前言 雖然,物件導向程式設計(Object-oriented programming, OOP)已是老生常談,網路上有太多的資源可參考,不過,因為實在太重要了,...
組合(composition) 是指將不同的小部分結合成一個複雜的整體,整體也僅是一部分,並非代表全部,以音樂作為比喻,音樂是由音符組合而成,但音樂不僅是由音符...
昨天,我們認識了角色,鴨子類別是一種 角色 ,能夠表現共同行為的角色都算是鴨子類別。再來,我們可以定義一組獨立於類別的方法,並且可以被其他物件使用,稱為 模組...
理解角色 有些問題需要在其他不相關的物件之間共用行為。這種共同行為對類別來說是正確的 ,它是物件所扮演的角色。 在設計物件導向程式時,有些問題需要多個不相關的物...
找出抽象類別 建立抽象父類別 Bicycle是MountainBike和RoadBike的父類別,Bicycle包含共同的行為,而MountainBike和Ro...
設計良好的應用程式由可重複使用的程式碼所構成。 在物件導向程式設計中,「可重複」就是倚賴繼承的方式來實現整個應用程式的運作,繼承是一種程式碼共用技巧,通常內...
今天要來瞭解另一種介面,有別於第4章所提及的「介面」:存在於類別裡,並且由其方法所組成。另一種介面是指跨越多個類別,並獨立於單一類別的「介面」,介面代表的是一組...
今天我們要透過一個工具來協助我們設計介面,讓所有物件都能依賴公共介面來傳遞訊息。 找出公共介面 實例演練 假設現在有一間自行車公司,提供兩種服務內容,公路和山地...
來到了第四章(快過半了,加油!),今天我們要進入到介面的世界,介面到底扮演什麼樣的角色?物件之間又是如何藉由介面去溝通呢?根據前三章所學,我們可以先歸納出三個要...
關於物件與依賴 如果物件依賴於另一個物件,那麼當其中一個物件有所變化時另一個可能也會被迫發生變化。依賴關係會造成耦合,兩個物件耦合得越緊密,它們的行爲就越像一個...
瞭解單一職責的內容後,我們可以進一步修正,讓程式碼的調整彈性更高、更易於修改,書中提及兩種修正方向:1.依賴行為而非資料2.全面實施單一職責 依賴行為而非資料...
在上一章我們提到了一個基於類別的物件導向語言,物件之間通過訊息傳送來呼叫彼此的行為,物件導向系統的基礎是訊息(message ),但最明顯的組織結構則是類別(c...
昨天,我們對於物件導向設計有初步了解後,今天,我們接續來看看物件設計導向的原則。 物件導向設計原則 說到物件導向設計原則,就不得不提 SOLID 以及 DRY...
程式的撰寫有很多種方式 OOP、FP、AOP、COP...等(之後在專門做一期為大家解說),不過這個系列還是主要專注在物件導向程式設計(OOP)上面跟大家分享。...