繁体   English   中英

是否有面向对象的替代前端控制器模式?

Is there an object-oriented alternative to the Front Controller Pattern?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

好的,所以我偶然发现了Front Controller Pattern ,据我所知,从Spring Web (Java)Flask (Python)等 Web 框架中,它们都体现了这种设计模式,导致代码如(示例 Spring Web):

@PreAuthorize("hasAnyAuthority('ROLE_USER','ROLE_ADMIN','ROLE_SYSADMIN')")
@GetMapping(value = "/path/to/{id}/somewhere")
public void doIt(@PathVariable("id") String id)
{
    // ...
}

@PostMapping(value = "/path/to/{id}/somewhere")
@PreAuthorize("hasAnyAuthority('ROLE_ADMIN','ROLE_SYSADMIN')")
public SomeDto doSomething(@PathVariable("id") String id)
{
    // ...
}

@GetMapping(value = "/api/agb/check")
@PreAuthorize("hasAnyAuthority('ROLE_USER','ROLE_ADMIN','ROLE_SYSADMIN')")
public SomeDto doSomeotherthing()
{
    // ...
}

@GetMapping(value = "/api/agb")
@PreAuthorize("hasAnyAuthority('ROLE_ADMIN','ROLE_SYSADMIN')")
public List<SomeDto> getAll()
{
    // ...
}

据说这种模式的“优点”是集中控制流。 但是,面向对象的设计难道不是为了分配职责,从而摆脱这种集中的控制流吗?

在处理 Web 请求时,是否有更面向对象的设计替代前端控制器模式?

问题暂未有回复.您可以查看右边的相关问题.
1 模型 - 视图 - 控制器是否面向对象设计不佳? [关闭]

OOD(面向对象设计)和MVC(模型 - 视图 - 控制器)架构已成为现代软件设计的主要内容。 然而,我最近就MVC架构如何利用(甚至可能违反 )OOD原则进行了有趣的讨论。 这种可能性实际上相当有趣,因为OOD和MVC都旨在实现许多相同的目标:关注点分离和软件可重用性。 但我提出的问题是 ...

3 在面向对象的PHP中使用MVC时的控制器问题

我目前正在使用面向对象的PHP中的MVC对书店进行编程,而我很难确定控制器在处理请求(尤其是处理表单)时应如何工作。 例如,我有一个搜索表单,当用户访问“ index.php?action = search”时会显示该表单,但由于无法发送“ $ _GET ['action”,我不确定如何处 ...

5 带有视图控制器的iOS应用的面向对象设计

我正在使用此流程制作iPhone应用程序 首次启动应用程序时,用户会看到屏幕询问他们是否要登录社交服务 如果是,将启动模式以输入登录详细信息 如果提交了详细信息,则会取消模式,并提供一个视图,该视图提供与社会服务的交互 我的问题是,在第3步中,控制该视图的Vie ...

6 面向对象的反馈模式

我正在寻找一个好的反馈模式-概念,也许这个问题可能会有所不同,请让我知道。 将尝试描述它。 基本上,我正在寻找正确的方法来提出良好的反馈概念。 例如, Trigger对象从其他Target对象触发一个函数,该对象对Trigger对象有某种期望(可能多于一个参数)。 这引发呼叫也可以使 ...

9 jQuery插件模式:更面向对象的东西?

我正在研究一个jQuery插件,遵循编写指南中详述的模式。 基本上: 这是我的不喜欢:我必须将相同的“实例”变量传递给所有私有函数。 我仍然在努力成为一名JS专业人员 - 请原谅我不正确的术语用法 - 但如果我在Ruby或PHP中做同样的事情,我会创建一个包含所有这些公共和私有成员和 ...

10 WordPress是否使用面向对象的编程?

我当时正在分析WordPress代码,并意识到WordPress不是面向对象的,我不确定自己是否正确,因为我是编程新手。如果我正确,为什么一个主要且最受欢迎的开源软件不使用OOP作为编程方法? ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM