高質量代碼:可維護 可複用 可擴展 靈活性好
舉例:活字印刷術
要修改排版,只需要換掉字,這是可維護。每個字可以重複使用,這是可複用。若文章需要加字,另外刻字加入即可,這是可擴展。字的排列可能是橫排或者豎排,只需要移動活字就可以,這是靈活性好。
面向對象的好處:
通過封裝,繼承,多態把程序的耦合性降低。用設計模式使得程序更加靈活,容易修改,並且易於複用。
簡單工廠模式:由工廠對象決定創建出哪一種產品類的實例。
UML類圖
類圖分爲三層,第一層顯示類的名稱(如果是抽象類,就是斜體表示) 第二層表示類的特性,通常就是字段和屬性
第三層是類的操作,通常是方法或行爲。注意前面的+表示public --表示private #表示protected
繼承用 空心三角+實線來表示
實現接口用空心三角 +虛線來表示
當一個類需要“知道”另一個類時,可以用關聯(association)。關聯關係用實線箭頭來表示
聚合表示一種弱的“擁有”關係,體現的是A對象可以包含B對象 但B對象不是A對象的一部分。聚合關係用空心的菱形+實線箭頭來表示、
合成(Compoision 也叫組合)是一種強的“擁有關係”,體現了嚴格的部分和整體的關係,部分和整體的生命週期一樣。用實心的菱形+實線的箭頭來表示
依賴關係 用虛線箭頭表示