軟件的複雜性是一種常態。java
系統越複雜就越容易崩潰算法
軟件複雜性的幾個方面編程
問題域的複雜設計模式
管理開發過程的複雜性併發
軟件中隨處可見的靈活性模塊化
軟件是離散的,而現實是連續的設計
複雜系統每每以層次結構存在code
相對本原對象
分離關注排序
共同模式
穩定的中間形式
OOP(面向對象編程)
重用性、靈活性、擴展性
OOD(面向對象設計)
類圖、時序圖等
OOA(面向對象分析)
構建真實世界模型
關聯
繼承
class User{ } class AdminUser extends User{ }
聚合
class Book{ Author author; }
依賴
class Pay{ public void pay(Money money){ //一個類的方法使用到了別的類 money.getCount(); } } class Money{ public void getCount(){ } }