Big ball of Mud 第一种死法:Big ball of Mud 架构里最常用的反面案例是 big ball of mud.很大程度上可以说打格子,把复杂的系统拆解成小格子是架构师最重要的工作.这个小格子有很多种名字,比如:组件,模块,子系统,库,bounded context林林种种. 但是仔细想想?为什么需要打这些格子?为什么要把一个进程干的活拆分出这么多进程去干? 一个东西打成多少个格子来做,不是受一种因素影响的.不同类型的应用,其面临的主要挑战是不同的,所以上面三种因素里对解决…
1. Silver Bullet No Silver Bullet: Essence and Accidents of Software Engineering —— 无银弹理论,出自于美国1999年图领奖得主.世界软件工程的先驱Frederick P. Brooks.在论文中,Prof. Brook将软件工程中的银弹定义为一项能够将软件开发工作的轻松程度调高一个数量级的技术或工具.同时,他也将软件开发过程中的困难划分为两大部分,分别是Essence Difficulties & Acciden…
I've seen and had lots of discussion about "package by layer" vs "package by feature" over the past couple of weeks. They both have their benefits but there's a hybrid approach I now use that I call "package by component". To…
第一种死法:Big ball of Mud 架构里最常用的反面案例是 big ball of mud.很大程度上可以说打格子,把复杂的系统拆解成小格子是架构师最重要的工作.这个小格子有很多种名字,比如:组件,模块,子系统,库,bounded context林林种种. 但是仔细想想?为什么需要打这些格子?为什么要把一个进程干的活拆分出这么多进程去干? 一个东西打成多少个格子来做,不是受一种因素影响的.不同类型的应用,其面临的主要挑战是不同的,所以上面三种因素里对解决方案的影响的权重就不同. 比如说…
Introduction Many approaches to object oriented modeling tend not to scale well when the applications grow in size and complexity. Context Mapping is a general purpose technique, part of the Domain Driven Design (DDD) toolkit, helps the architects an…
https://en.wikipedia.org/wiki/Anti-pattern https://zh.wikipedia.org/wiki/反面模式 An anti-pattern is a common response to a recurring problem that is usually ineffective and risks being highly counterproductive.[1][2] The term, coined in 1995 by Andrew K…