附录 I
截止日期
“截止日期”这个词可能起源于19世纪,最初用来描述围绕监狱或战俘营划出的一条线。一旦囚犯越过这条线,就会被射杀。下次当有人给你“设定截止日期”时,想想这个定义,或许会带来全新的视角。
BuckPal
快速在线搜索发现,一家名为 PayPal 的公司已经抢先使用了我的创意,甚至复制了部分名称。真可耻!开个玩笑。不妨试着想一个与“Paypal”相似但又不是现有公司名称的名字,这过程非常有趣!
任意依赖
只有在我们能控制依赖关系两端代码的情况下,才能对依赖进行反转。如果我们依赖的是第三方库,则无法反转该依赖,因为我们无法控制那个库的代码。
六边形架构来源
“六边形架构”这一术语的主要来源似乎是 Alistair Cockburn 网站上的一篇文章。
锁机制
用例还需要确保在同时刻没有其他资金转账操作正在涉及源账户和目标账户,以避免账户透支。
三万行代码
那三万行代码之所以集中在一个类中,实际上是前任开发者有意为之的架构决策。为了支持在运行时修改系统而无需重新部署,系统允许上传编译好的 Java 字节码(.class 文件),但仅限上传单个文件,因此这个文件必须包含全部代码。
JPA
听起来很熟悉吗?你选择 JPA:Java 持久化 API 作为对象关系映射工具,因为它正是大家解决这类问题时常用的技术。然而开发几个月后,你开始抱怨其急加载和懒加载机制以及缓存功能,渴望更简单的方案。JPA:Java 持久化 API 是个强大的工具,但对于许多问题而言,更简单的方案也许才真正合适。
神秘方法
此方法只是一个占位符,代表任何必要的启动逻辑,用于通过 HTTP(超文本传输协议)暴露我们的 Web 适配器。我们并不真的想自己实现它。
走捷径
想象一下,这句话出现在一本关于土木工程的书里,或者更吓人一点——出现在航空电子系统的书籍中!然而我们大多数人所开发的软件,并不等同于摩天大楼或飞机。而且软件是“软”的,比硬件更容易修改,因此有时先有意识地走个捷径,稍后再修复(甚至永不修复),反而是更经济的做法。
性格类型
我的性格类型是“守护者”,如果我是一只狗的话,大概会是一只比特犬。