LangGPT — Empowering everyone to create high-quality prompts!
java代码坏味道
1.命令模式:系统需要支持命令的撤销(Undo)操作和恢复(Redo)操作,也可以考虑使用命令模式。行为请求者"与"行为实现者"解耦。如工作流中,流程发起撤回等未行为请求。而具体的发起撤回的实现是开发人员自己组装配置的。
参考:命令设计模式实现行为+数据的撤销undo/恢复redo功能
2.适配器模式和装饰器模式有什么区别:
装饰器模式 更侧重于动态地增强原始类的功能,装饰器类需要跟原始类继承相同的抽象类或者实现相同的接口。并且,装饰器模式支持对原始类嵌套使用多个装饰器。(BufferedInputStream,FileInputStream,BufferedOutputStream等)
适配器模式 更侧重于让接口不兼容而不能交互的类可以一起工作,当我们调用适配器对应的方法时,适配器内部会调用适配者类或者和适配类相关的类的方法,这个过程透明的。就比如说 StreamDecoder
(流解码器)和StreamEncoder
(流编码器)就是分别基于 InputStream
和 OutputStream
来获取 FileChannel
对象并调用对应的 read
方法和 write
方法进行字节数据的读取和写入。(InputStreamReader,OutputStreamWriter)