[吃瓜]如何把一段简单的代码变复杂?[吃瓜]
print一句hello world,main函数里print一下?太面向过程,太low了。[旺柴]得封装一个类。叫Printer. Printer有个成员方法,叫print。
但是!光一个类太low了,以后要是有不同的实现怎么办?所以得加一个接口。PrinterInterface。
但是!interface是没有实现的,还是要有默认实现才行。所以得加个虚拟类,AbstractPrinter实现PrinterInterface,
然后Printer继承AbstractPrinter。
但是!你有了那么一套,该怎么创建实例呢?直接new Printer()?太low了,那叫实现依赖。肯定不行的,所以要搞一个工厂类,PrinterFactory,PrinterFactory用PrinterInterface返回实例
这样就隐藏了实现细节了。但是!PrinterFactory本身也是实现类啊,太low了,所以得有PrinterFactoryInterface, AbstractPrinterFactory.而且在PrinterFactory里面该怎么写呢?直接new Printer()? 太low了。还是实现依赖。最后,你要把这一堆玩意在代码里组装起来,也太难看了,各种new实现类。太low!好在我们有个高级玩意,叫依赖注入!把程序对象结构全写到配置文件里面。这一套当然是不能自己造轮子的。配置Spring吧。搞了那么多lib,靠命令行或者IDE的项目管理肯定不够啊,得有依赖管理。Maven啊Gradle啊使劲上。[吃瓜][吃瓜][吃瓜]