
上线十年,81万行Java代码的老系统如何重构(2)
--解决方案:架构隔离、能力下沉大家应该都听说过“六边形架构”或者“COLA框架”,具体的概念我就不在这里详述了,我也只是借这着cola的图来解释一下我们重构是要遵循的准则。在App层将executor分为query和command,我们上一节已经通过从上而下的方法将command的结构搭建起来。那...

上线十年,81万行Java代码的老系统如何重构(1)
阿里妹导读本文借着CRP-付款模块的改造,总结和抽象了一些老系统改造的方法。希望能对遇到类似问题的同学有所帮助。前言优酷CRP系统-内容采购版权管理系统,是个存在10年的老系统,技术框架上比较老旧;再加上”人来人往“,必然存在很多”不合理但是能跑“和”不敢改,所以ifelse“等等经典代码,一共81...

你还在写垃圾代码?快用 Java 8 重构传统设计模式吧,是真的优雅!(2)
三、观察者模式思路:基于某个Subject主题,然后一堆观察者Observer注册到主题上,有事件发生时,subject根据注册列表,去通知所有的observer。Observer接口:public interface Observer { void notify(String orderNo); ...

你还在写垃圾代码?快用 Java 8 重构传统设计模式吧,是真的优雅!(1)
java8中提供的很多新特性可以用来重构传统设计模式中的写法,下面是一些示例:一、策略模式上图是策略模式的类图,假设我们现在要保存订单,OrderService接口定义要做什么,而NoSqlSaveOrderStragegy以及MySqlSaveOrderStrategy则提供了二种策略,分别是保存...

上线十年,81万行Java代码的老系统如何重构
前言优酷CRP系统-内容采购版权管理系统,是个存在10年的老系统,技术框架上比较老旧;再加上”人来人往“,必然存在很多”不合理但是能跑“和”不敢改,所以ifelse“等等经典代码,一共81w行java代码,17w的jsp代码。我在今年全面接手CRP-财务部分,整体目标就是全面推进CRP...

Java难点重构-IO(下)
流的概念模型Java 的IO流共设计 40 多个类,这些类看上去复杂,但实际上非常规则,而且彼此之间存在非常紧密的联系。它们都是从如下4 个抽象基类派生的。InputStream/Reader:所有输入流的基类,前者是字节输出流,后者是字符输出流OutputStream/Writer:所有输出流的基...

Java难点重构-IO(上)
字符和字节在java 中有输入,输出两种 IO 流,每种输入,输出又分为字节流和字符流两大类。字节又是什么呢,每个字节(byte)右8bit 组成,每种数据类型又几个字节组成。字节和字符之间的关系是怎样的呢?java 采用 unicode 编码,2个字节来表示一个字符,这点与C 语言中...

Java难点重构-NIO
Java NIO 是从Java 1.4版本开始引入的一个新的 IO API,可以替代标准的 Java IO API。NIO与原来的 IO 有同样的作用和目的,但是使用的方式完全不同,NIO 支持面向 缓冲区 的,基于 通道 的IO 操作,至于什么是缓...

Java基础重构-数据类型
什么是强类型语言?什么是强类型语言:所有变量必须先声明,后使用指定类型的变量智能接收类型与之匹配的值。这意味着每个变量和表达式打有一个在编译时就确定的类型。类型限制了一个变量能被赋的值,限制了一个表达式可以产生的值,限制了在这些值上可以进行的操作。什么是变量?编程实际上就是对内存中数据的访问和修改,...
Java基础重构-面向对象(下)
抽象类的作用是什么?抽象类不能创建实例,只能当成父类来继承。从语义的角度来说,抽象类是从多个具体类中抽象出来的父类,他具有更高层此的抽象。从多个具有相同特征的类中抽象出了一个抽象类,以这个抽象类作为其子类的模板,从而避免了子类设计的随意性。抽象类体现的就是一种模板模式的设计,抽象类作为多个子类的通用...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。