如何通过添加高级功能使简单代码变得复杂?(拓展知识面)
- 内容介绍
- 文章标签
- 相关推荐
本文共计842个文字,预计阅读时间需要4分钟。
来源:zhihu.com/question/277243683/answer/393676961
这个问题你应该去咨询企业级Java架构师。就像打印一句hello world一样,在main函数里打印一下?太直接了,low了。得封装一个类。
创建一个类叫Printer,Printer有打印的功能。
来源:zhihu.com/question/277243683/answer/393676961
这问题你应该去问企业级Java架构师。
就比如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了。还是实现依赖。
本文共计842个文字,预计阅读时间需要4分钟。
来源:zhihu.com/question/277243683/answer/393676961
这个问题你应该去咨询企业级Java架构师。就像打印一句hello world一样,在main函数里打印一下?太直接了,low了。得封装一个类。
创建一个类叫Printer,Printer有打印的功能。
来源:zhihu.com/question/277243683/answer/393676961
这问题你应该去问企业级Java架构师。
就比如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了。还是实现依赖。

