ope*_*rog 1 architecture oop design-patterns
我希望这不是太主观.我无法决定这两个设计机会.
我有一个前端控制器模式.当用户浏览特定的URL时,我的框架会为此URL加载指定的View Controller.然后,View Controller会计算一些内容并加载视图模板,以显示结果.
现在想象你想创建一个像SO这样的网站.每个页面看起来非常相似:相同的标题,相同的菜单,相同的页脚.只是内容区域不同.您浏览"提问"页面,并希望在"布局"中显示"询问新问题"表单.
因此,我们RootViewController
使用一个RootView
模板来设置布局,并为内容添加占位符.和AskQuestionViewController
与AskQuestionView
模板.
我们的Front Controller加载了这个AskQuestionViewController
类.系统调用loadView()
方法,然后调用viewDidLoad()
方法.
AskQuestionViewController
继承自RootViewController
.方法由系统调用,并parent::loadView()
先调用.因此RootViewController
有机会创建其RootView
模板.接下来,loadView()
加载AskQuestionView
模板,并将其分配给模板的内容占位符RootView
.
AskQuestionViewController
不继承自RootViewController
.该loadView()
方法AskQuestionViewController
的负载RootViewController
第一.然后它加载自己的AskQuestionView
模板,并将其分配给模板的内容占位符RootView
.
这些视图控制器之间的唯一区别是,它们加载了不同的视图模板,并且它们具有不同的自定义方法来执行某些任务.即RootViewController
能够组成导航菜单并突出显示当前访问的内容.没有别的东西RootViewController
可以用来AskQuestionViewController
.
哪种选择更好的设计?