面向對象的基本思想:多聚合,少繼承,低耦合(鬆耦合),高內聚
現在是好時機來指出Django和URL配置背後的哲學: 鬆耦合 原則。 簡單的說,鬆耦合是一個 重要的保證互換性的軟件開發方法。
Django的URL配置就是一個很好的例子。 在Django的應用程序中,URL的定義和視圖函數之間是鬆 耦合的,換句話說,決定URL返回哪個視圖函數和實現這個視圖函數是在兩個不同的地方。 這使得 開發人員可以修改一塊而不會影響另一塊。
例如,考慮一下current_datetime視圖。 如果我們想把它的URL 從原來的 /time/ 改變到 /currenttime/ ,我們只需要快速的修改一下URL配置即可, 不用擔心這個函數的內部實現。 同樣的,如果我們想要修改這個函數的內部實現也不用擔心會影響 到對應的URL。
此外,如果我們想要輸出這個函數到 一些 URL, 我們只需要修改URL配置而不用 去改動視圖的代碼。 在這個例子裏,current_datetime被兩個URL使用。 這是一個故弄玄虛的例子,但這個方法遲早會用得上。
urlpatter = patterns('',
('^hello/$', hello),
('^time/$', current_datetime),
('^another-time-page/$', current_datetime),
)