Ironbin


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

Service 和 Utility 区分

发表于 2018-07-27 | 分类于 spring | | 阅读次数:

开发者有时会纠结一部分复用的逻辑是实现在 Service 中,还是 Utility 或 Helper 中,下面讨论一下他们的区别。

Service

  • 包含业务逻辑
  • 应用上下文内使用

举例

TicketService 购票服务

  • buyTicket 买票
  • refundTicket 退票

业务逻辑可能涉及应用内的用户、订单、短信、邮件、日志等

阅读全文 »

数据模型 - 阿里规约(1)

发表于 2018-07-22 | 分类于 spring | | 阅读次数:

在阿里巴巴编码规约中列举了下面几个领域模型规约:

  • DO(Data Object):与数据库表结构一一对应,通过 DAO 层向上传输数据源对象。也常叫做 Entity。
  • DTO(Data Transfer Object):数据传输对象,Service 或 Manager 向外传输的对象。
  • BO(Business Object):业务对象。由 Service 层输出的封装业务逻辑的对象。
  • AO(Application Object):应用对象。在 Web 层与 Service 层之间抽象的复用对象模型,极为贴近展示层,复用度不高。
  • VO(View Object):显示层对象,通常是 Web 向模板渲染引擎层传输的对象。注意与另一类 VO(Value Object)不一样[1],后者常被用作枚举。
  • Query:数据查询对象,各层接收上层的查询请求。注意超过2个参数的查询封装,禁止使用 Map 类来传输。

使用经验

根据项目复杂度的不同,我们不一定实现所有层的模型对象,根据必要性从大到小,我认为应该是这个顺序:DO > DTO > VO > Query > AO、BO

阅读全文 »

使用 Homestead 开发 Laravel

发表于 2018-06-22 | 分类于 php | | 阅读次数:

Homestead 是基于 vagrant 的用于开发 php 程序的配置文件,包含了常用的开发软件和服务。 vagrant 是一套虚拟机管理软件,它通过虚拟机的接口管理虚拟机镜像。

Vagrant VS 直接使用虚拟机

  • Vagrant 可以下载制作好的镜像文件,包含了特定的系统和软件组合
  • Vagrant 可以通过接口直接管理镜像的启动、停止、共享目录等

Vagrant VS Docker

  • Docker 本身是一种不同于虚拟机的虚拟化技术,它比虚拟机更轻量,常用于虚拟软件,而虚拟机则虚拟完整系统
  • Vagrant 是管理虚拟机的工具,可用来管理 VMware,VirtualBox 等
阅读全文 »

Java 编程规范

发表于 2018-03-26 | 分类于 java | | 阅读次数:

最常用的两套 java 编程规范

  • Alibaba Java Coding Guidelines
  • google-java-format

Hibernate 用法

发表于 2018-03-26 | 分类于 java | | 阅读次数:

操作 m-n 关联表

  • 定义关联表实体
  • Hibernate – Many-to-Many example – join table + extra column (Annotation)

Boost Logger 使用

发表于 2017-12-08 | 分类于 c++ | | 阅读次数:

未完成

使用 deployer 自动化部署 laravel

发表于 2017-12-07 | 分类于 php | | 阅读次数:

安装

phar 包方式

1
2
3
$ curl -LO https://deployer.org/deployer.phar
$ mv deployer.phar /usr/local/bin/dep
$ chmod +x /usr/local/bin/dep

composer 方式

1
$ composer require deployer/deployer --dev

当以 composer 方式安装时,需要这样运行:

1
$ php vendor/bin/dep
阅读全文 »

Windows 钩子

发表于 2017-12-07 | 分类于 c++ | | 阅读次数:

未完成

玩转 WebBrowser

发表于 2017-12-06 | 分类于 c++ | | 阅读次数:

未完成

架构

接口

通过注册表设置特性

使用 Flyway

发表于 2017-12-05 | 分类于 java | | 阅读次数:

Flyway 是一款简单好用的数据库迁移工具。优点是简洁、易上手,功能满足常规开发、维护,并提供了命令行工具。

安装命令行工具

通过 homebrew 安装非常方便:

1
$ brew install flyway

配置

默认安装的配置文件保存在:/usr/local/Cellar/flyway/4.2.0/libexec/conf/flyway.conf,其中包含非常详细的注释。

由于需要在多个项目中使用 flyway,每个项目的配置又不完全相同,所以修改默认配置不是我需要的方案。于是,我在每个项目中分别保存一份配置文件,执行时加载各自的配置。

项目配置文件

1
2
3
4
5
6
7
8
9
# file: flyway.conf

# 数据库连接
flyway.url=jdbc:mysql://localhost:3306/database
flyway.user=user
flyway.password=password

# 迁移脚本的路径,对应:项目根目录/sql
flyway.locations=filesystem:sql
阅读全文 »
1…456…12
程学彬

程学彬

117 日志
48 分类
99 标签
Creative Commons
Links
  • ShinySky
0%
© 2014 — 2020 程学彬