架构&实践 - 设计模式 桥接模式 4
作者 张强  发布于 2017年07月18日  阅读 749
近日,在开发的过程中发现了一个很大的类,有1000+行代码,大部分情况下,一个1000+行代码的类一定是做了一些本不应该是它负责的事,这是一个处理订单的类,方法大多数是对各种订单消息的处理:各个Listener(消息监听器)实现接口MessageListener的onMessage方法来接受消息,然后调用服务处理消息,以上结构有三个缺点:第一、接受消息的代码(如日志、异常处理、监控、遍历)是重复的...
文章 发布于 2015年08月18日  阅读 1210
定义将抽象部分与实现部分分离,使它们都可以独立的变化。结构示例Implementor:定义实现接口interface Implementor { // 实现抽象部分需要的某些具体功能 public void operationImpl();}Abstraction:定义抽象接口abstract class Abstraction { // 持有一个 Implementor 对象,...
作者 张松然  发布于 2014年11月18日  阅读 488
我们知道可以通过组合接口实现上层建筑,通过不同的实现类实现不同的地层建筑。所以,基于此思想,在进行方法传参时,通过传递泛型,实现不同的类型传参。假设,我们有这样一个接口:public interface MessageService { void send(BaseRequest request);}最开始的实现很简单,只传递一个 BaseRequest,也只有一个参数 id。但是,随着实现...
作者 张松然  发布于 2014年10月09日  阅读 1263
梳理最近在重构一段代码,发现之前的流程大概是如下图,这样的设计结构。一、这是一个发送消息的流程,长长的一段代码,通过依赖构成整个流程的架构。整个流程依赖三个环节:适配、发送、保存,其中发送又依赖消息体生成。二、由于消息类型不同,适配、发送、保存的具体实现不同,所以代码中大量的充斥着if ... else ...的判断语句。这不仅导致代码可读性很差,而且还产生了大量冗余代码。重构针对如上问题,首先是...
共4条记录 共1页 上一页 首页 1 末页 下一页