4
A
回答
11
facade pattern是更大,可能更復雜的代碼庫的簡化接口。代碼庫可以是單個類,或更多。門面只是給你一個簡單的界面。
Abstraction用於表示一個概念,但不被綁定到任何特定的實例。 (即:抽象類)。這並不意味着簡化(就像門面模式那樣),而是建立一個'通用'接口或表示。
3
Facade是一個特定的設計模式,意味着隱藏一個封裝/模塊內部的東西從它的客戶端在一個定義良好的接口後面。它通常隱藏一個常見的接口/類,因此它的名字。
「抽象」是一個通用術語,意思是隱藏來自外部世界的具體細節。
所以這兩個是不可互換的術語。
1
門面是一個非常具體的GoF設計模式。本質上,它是關於從應用程序的主體中隱藏過度複雜的功能。
抽象是一個更隱晦的術語,涉及隱藏其客戶端的服務功能。
1
對我來說,抽象意味着採取事物集合的共同部分,並從中創建一個基礎事物,然後集合可以在其上繪製,就像父類一樣。
立面是一張臉(字面上講),所以他們類比的基類不完全持有。外觀更像是一個界面,所以它不必與使用它的東西相關聯。我覺得它更像一個面具。例如,我的班級將有一個「一次性」面具。
所以在我看來,不同之處在於抽象模式允許構建層次結構,其中外觀模式允許類看起來相似。
相關問題
- 1. 抽象類和Mixin有什麼區別?
- 2. 抽象和封裝有什麼區別?
- 3. 抽象和虛擬有什麼區別?
- 4. 繼承時抽象類和非抽象類有什麼區別
- 5. laravel方法與特質vs外觀有什麼區別
- 6. 抽象類中的方法的外部抽象和局部抽象之間有什麼區別?
- 7. 數組與對象有什麼區別?
- 8. 解析樹和抽象語法樹有什麼區別?
- 9. 抽象類和接口之間有什麼區別?
- 10. DBpedia中的抽象和評論有什麼區別
- 11. 抽象類和靜態類之間有什麼區別?
- 12. 抽象類和繼承之間有什麼區別?
- 13. 具體RTN和抽象RTN有什麼區別?
- 14. 「抽象解析樹」和「解析樹」有什麼區別?
- 15. 界面和抽象類有什麼區別?
- 16. 繼承和抽象類有什麼區別?
- 17. '非虛擬界面'和'抽象界面'有什麼區別?
- 18. 會議外觀與立面???有什麼區別?或同樣的事情?
- 19. 策略設計模式與抽象工廠模式有什麼區別?
- 20. 可觀察集合與可枚舉集合有什麼區別?
- 21. 封裝與抽象的區別
- 22. 繼承與類別有什麼區別
- 23. 左外連接 - 有什麼區別?
- 24. 檢查和外鍵有什麼區別?
- 25. 具有零參數的抽象類和沒有參數的抽象類之間有什麼區別?
- 26. where'require'的外觀和'Gem.available?'的區別是什麼?尋找寶石?
- 27. 有什麼區別
- 28. 有什麼區別
- 29. 有什麼區別?
- 30. 有什麼區別?