Dependence injector : 依赖注入
late binding、unittesting 、abstract factory、di container
将依赖关系于DI Container或第三方
目的: loosely couple、maintain、extensibility
loosely couple : 不修改原本produce code, 依新request、增加function, 专注于新function,加入新的code (OCP open/close Principle)
decorator、composite、Adapter、null object
LSP liskov Substitution Principle、SRP Single Responsibility Principle
捉住横切同样interface 实作为decorator,此方式为cross-cutting-concerns 横切关注点
依base共通interface上,加入新function,实作为composite
Tightly coupled : 还满常见的写法,需什么class,就new 传下去。
auto register : Assembly
ref :