开发者有时会纠结一部分复用的逻辑是实现在 Service 中,还是 Utility 或 Helper 中,下面讨论一下他们的区别。
Service
- 包含业务逻辑
- 应用上下文内使用
举例
TicketService 购票服务
- buyTicket 买票
- refundTicket 退票
业务逻辑可能涉及应用内的用户、订单、短信、邮件、日志等
在阿里巴巴编码规约中列举了下面几个领域模型规约:
根据项目复杂度的不同,我们不一定实现所有层的模型对象,根据必要性从大到小,我认为应该是这个顺序:DO > DTO > VO > Query > AO、BO
Homestead 是基于 vagrant 的用于开发 php 程序的配置文件,包含了常用的开发软件和服务。 vagrant 是一套虚拟机管理软件,它通过虚拟机的接口管理虚拟机镜像。
Vagrant VS 直接使用虚拟机
Vagrant VS Docker
Flyway 是一款简单好用的数据库迁移工具。优点是简洁、易上手,功能满足常规开发、维护,并提供了命令行工具。
通过 homebrew
安装非常方便:
1 | $ brew install flyway |
默认安装的配置文件保存在:/usr/local/Cellar/flyway/4.2.0/libexec/conf/flyway.conf
,其中包含非常详细的注释。
由于需要在多个项目中使用 flyway,每个项目的配置又不完全相同,所以修改默认配置不是我需要的方案。于是,我在每个项目中分别保存一份配置文件,执行时加载各自的配置。
项目配置文件
1 | # file: flyway.conf |