3

假设我正在构建一个社交网站。我应该把整个网站放在 SocialNetworking 模块下吗?应该几乎每个页面都有自己的模块,如 ProfileModule、MessagingModule 和 GalleryModule?

还是有些不同,比如 AvatarModule、UserToUserConnectionModule,比如 FriendshipModule、PrivacyModule?

4

2 回答 2

6

模块不是网站不同“页面”的容器。

模块实际上可以是任何东西,但在大多数情况下,它为您的应用程序提供“功能”(服务、侦听器、事件、类,通常是逻辑)。

不要将模块视为 Web 应用程序中的单独 URL:而是将它们视为可重用代码的容器。

根据经验,如果 Zend Framework 2 模块提供了您可能希望在另一个项目中重用的逻辑,则它可以与应用程序上的其他功能分开。

正如您所看到的,这一切都与生成应用程序的可重用和解耦部分有关。

于 2013-06-29T11:44:41.387 回答
3

只是为了给@Ocramius 的好答案添加一些东西,你给出的例子都可以是模块。

你可以有一个“博客模块”。该模块将处理 BlogPosts。然后,您可以有一个额外的“CategoriesModule”,它添加了为每个 BlogPost 提供一个类别的选项。然后您可以编写另一个模块“MediaModule”,添加将媒体附加到您的博客帖子的功能

于 2013-06-29T13:11:08.857 回答