应用程序的核心是业务逻辑,它由定义服务,域对象和事件的模块实现。围绕核心的是与外
部世界接口的适配器。适配器的示例包括数据库访问组件,生成和使用消息的消息传递组件
以及公开API或实现UI的Web组件。
尽管具有逻辑模块化架构,但应用程序被打包并部署为一个整体。实际格式取决于应用程序
的语言和框架。例如,许多Java应用程序打包为WAR文件,并部署在应用程序服务器(如
Tomcat或Jetty)上。其他Java应用程序打包为自包含可执行JAR。类似地,Rails和Node.js
应用程序打包为目录层次结构。
以这种风格编写的应用程序是非常常见的。它们很容易开发,因为我们的IDE和其他工具专注
于构建单个应用程序。这些类型的应用程序也很容易测试。您可以通过简单地启动应用程序
并使用Selenium测试UI来实现端到端测试。单片应用也很容易部署。您只需将打包的应用程