外观模式案例分析
策劃案
要實現(xiàn)選中和未選中功能:
未選中狀態(tài):點擊圖形進入選中狀態(tài)
選中狀態(tài):點擊<按鈕進入未選中狀態(tài)
實現(xiàn)代碼
請問這是什么模式?
import TransformController from './TransformController' //操作框控制器類 import ToolbarHelper from '../view/ToolbarHelper' //工具條幫助類export default class ControllerHelper { //控制幫助類init() {this.transform = new TransformController();this.toolbar = new ToolbarHelper();}show() { //選中this.transform.show();this.toolbar.show();}hide() { //非選中this.transform.hide();this.toolbar.hide();}}答案是:外觀模式!參考:外觀模式
模式應(yīng)用分析
外觀模式為系統(tǒng)中的一組接口提供一致的界面。當一個功能需要多個對象協(xié)作完成時,就可以使用外觀模式。
例如:windows的窗口系統(tǒng),就是外觀模式的例子。比如關(guān)閉窗口功能,它可能有數(shù)據(jù)管理對象保存數(shù)據(jù),窗口管理對象擦除界面,內(nèi)存管理對象釋放內(nèi)存,這些對象都很復(fù)雜,但是通過外觀模式,調(diào)用者只需要:
window.close()并不用關(guān)心close()如何工作。所以。外觀模式降低了系統(tǒng)使用的復(fù)雜性。同時,外觀模式隱藏了實現(xiàn)細節(jié),所以開發(fā)者可以隨意更改實現(xiàn)細節(jié),實現(xiàn)了開發(fā)和調(diào)用的解耦。
總結(jié)
- 上一篇: mysql8的坑
- 下一篇: go 学习Printf