1

我对我的烧瓶应用程序的分离有点困惑。用户可以登录、发布广告,这些都是对公众开放的。

URL 结构如下所示:

  • 用户主页 - www.domain.com/user
  • 用户登录 - www.domain.com/user/login
  • 用户广告列表 - www.domain.com/user/advert
  • 用户广告添加 - www.domain.com/user/vacancy/add
  • 公共广告 - www.domain.com/advert/1

问题来自这样一个事实,即用户控制面板内部和外部都需要广告形式和逻辑。以下哪一项是布置我的应用程序的最正确方式:

选项1:

  • 用户蓝图(无 url 前缀)包含所有用户相关逻辑

  • 广告蓝图(无 url 前缀)包含所有与广告相关的逻辑,包括用户发布广告并将其展示给公众

选项 2

  • 用户蓝图(/user/ 前缀)包含用户逻辑和广告逻辑(从用户控制面板添加广告)

  • 广告蓝图(/advert/ 前缀)包含仅与用户控制面板之外的广告任务相关的广告逻辑。

4

2 回答 2

1

我认为选项 2 提供了最符合逻辑的一致性。尽管您正在构建一个网站,而不是一个 API,但我想说这个建议仍然有一些相关性。每个端点都明确定义了它的来源,并且您不会遇到为 URL 的不同部分混合蓝图的奇怪情况。这样,如果出现问题,您总能准确地知道在哪里工作。

您应该在蓝图之外和库内部拥有所有复杂的逻辑。我假设您在某处使用数据库来存储所有内容,因此无论如何您都需要一个库。然后,您应该有一个表单模板,您可以将其用于表单,无论它在哪里提供。如果复杂的逻辑存在于库和表单中,那么在每个端点复制功能几乎没有成本。

资料来源:目前正在重新设计一个巨大的 API,所以我最近一直在和很多人讨论最佳实践。

于 2014-02-19T20:02:35.093 回答
0

我是对的,您的逻辑应该在模型和服务类中吗?和蓝图(又名视图)只是模板和这些模块之间的薄中间件?

于 2014-02-19T15:58:59.490 回答