业务重构

在重构一个结构繁杂,代码逻辑千丝万缕的业务系统时,除了对代码层面的重构之外,很多人会忽视对于业务结构的重构和简化。

目前正在遭遇着这个事情,一个异常复杂的系统,不断的在上面添加需求,代码量增大,函数的体积也在增长,Web服务也越来越臃肿。关于代码层面的解耦,方法论很多,但本质上就是“提取公因式”,即相同的代码不要写两遍。通常,良好模块的模块设计,很容易达成这种只写一次的目标。

还有的复杂度就是模块之间的依赖和调用,很多人就会想到,用消息队列去解耦。其实消息队列解耦只是在技术层面,把两个东西物理上分开了,逻辑上还是要靠消息去驱动,复杂点就变成了何时发消息,发怎么样的消息。过于复杂的依赖和调用,在修改的时候,容易出现纰漏,比如漏发了某个消息。

其实我想说的不是技术层面的简化,而是业务层面的简化。业务人员首先要扪心自问一下,业务真的有必要设计的那么复杂吗?真的需要吗?如果你觉得需要的话,那你再想一遍,真的需要吗?

有一些业务人员过度设计,复杂设计,盲目设计,本来简单的一个业务规则,硬是要设计成很复杂的规则,设计出很复杂的一个功能,但是该功能的使用率很低,但是对于这个功能的维护成本又很大,一不小心出的bug就是由它产生。

理论上,业务设计和程序设计并没有区别,无非一个是用自然语言描述,一个用代码表述。业务设计也是可以画出流程图,状态图的。但是,如果一个业务设计天生就复杂,那么指望代码层面上很简洁,很清晰,无异于痴人说梦。

某种程度上说,业务的重构解耦,比代码层面的重构解耦更有意义。好的业务设计人员,应梳理出各个业务需求,尽量设计出相互独立的业务,封装不变的业务模块,把恶心的,易变的业务需求单独切割,尽量不要影响成熟业务模块的功能。

时间: 2024-10-10 02:15:56

业务重构的相关文章

关于后台部分业务重构的思考及实践

关于后台部分业务重构的思考及实践 作者: ljmatlight 时间: 2017-09-25 积极主动,想事谋事,敢作敢为,能做能为. 当职以来,随着对公司业务和项目的不断深入,不断梳理业务和公司技术栈. 保证在完成分配开发任务情况下,积极思考优化方案并付诸实践. 一.想法由来 由于当前我司主要针对各大银行信用卡平台展开相关业务, 故不难看出,各银行信用卡平台虽然有各自的特性, 但其业务相似程度仍然很高,除必要的重复性工作外,仍有很大提升优化空间. 例如: 各个银行平台都需要对账工作.都要安排人

百度业务重构,李彦宏是想学谷歌吗?

4月13日下午,百度董事长兼CEO李彦宏通过内部邮件宣布,百度业务架构重组.自即日起,百度将成立“百度搜索公司”,并表示个人将把更多精力集中在互联网金融.无人车.人工智能等创新业务上. 新成立的百度搜索公司将整合搜索业务群组(SSG)和移动服务事业群组(MSG),下辖搜索业务群组.移动服务事业群组.糯米事业部.新公司由搜索业务群组总经理向海龙出任总裁,将直接向李彦宏汇报. 而MSG的总经理李明远和糯米事业部的曾良将汇报给向海龙. 近年来,百度进行了几次业务架构调整:2015年2月,百度调整为移动

颠覆与重构——戴尔助力徐工集团等行业客户实现业务转型

无论在IT领域,还是传统行业,颠覆与重构都是不可回避的话题.利用ICT领域的技术创新与互联网思维,传统企业可以更好地实现业务转型与创新. 阿里集团与上汽共研互联网汽车,东软致力于推动远程医疗新模式,Mock颠覆传统学习方式--互联网.云计算.大数据等新技术正在颠覆和重塑传统行业.改变先从那些与互联网关系比较密切的媒体.零售等行业开始.现在,大力倡导以互联网思维重构自身业务的都是那些传统的行业,比如制造.能源.交通等. IDC指出,传统行业出现的颠覆与重构的热潮源于这些行业的客户对IT新产品有更高

我的重构-初识

顾客   租赁   影片 1.引入测试机制 2.改名称 任何一个傻瓜都能写出计算机可以理解的代码,唯有写出人类可以理解的代码,才是优秀的程序员. 阅读代码的时候,进行重构. 3.搬移代码  --- 关联性  --- 各司其职 4.旧函数引用新函数 5.去除临时变量 6.返回值替代穿参 7.去除临时变量 8.弄清楚代码所做的事情 9.运用多态取代switch.状态模式 重构和优化的区别 重构的原则:整理代码,调整其结构,不改变业务 重构技术开发软件: 两顶帽子 新功能   重构,开发过程中不断变换

为什么有些大公司技术弱爆了?

[转载自互联网 http://blog.jobbole.com/96190/ ] 本文整理自知乎上的同名讨论帖:<为什么有些大公司技术弱爆了?>,有网友提问: 今年年初,到一家互联网公司实习,该公司是国内行业龙头.不过技术和管理方面,却弱爆了. 那里的程序员,每天都在看邮件,查问题工单.这些问题,多半是他们设计不当,造成的.代码写的一团糟,全是复制粘贴,连作者都没改,大家普遍不写注释,也不格式化,代码歪歪扭扭. 一个项目里,httpclient竟然出现了四种.一种是该公司研发部写的,一种是老版

分布式技术一周技术动态 2015.12.20

分布式系统实践 1. 当讨论分布式系统时,我们都会讨论些什么? http://dockone.io/article/898 要点: [编者的话]分布式系统是一个庞大的议题,每个子领域都有大量的研究.学习分布式系统知识,如果不分主次地随看随学,效果不会好.本文介绍了分布式系统的主要概念,适合作为分布式系统的入门指南. 2. 微信朋友圈技术之道:三个人的后台团队与每日十亿的发布量 http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=4017358

数据仓库专题(16)-分布式数据仓库实践指南-目录篇

前言: 准备系统化整理一套分布式数据仓库建模实践指南,先把目录列出来吧,算是给自己设计一个目标吧. 第一部分 基础篇 第一章 数据仓库概念与定义 1.1 数据管理体系 1.2 数据仓库概念 1.3 数据仓库职责 第二章 数据仓库体系结构 2.1 Inmon CIF 2.2 Kimball 2.3 对于与分析 第三章 维度建模基础 3.1 kimball四步建模法 3.2 维度设计 3.3 事实表设计 第二部分 实践篇 第一章 路线图 第二章 业务分析-深浅有度 第三章 数据分析-区别对待 第四章

数字化校园建设方案

第一章 总体目标 1.1 总体目标 建设一个运行于统一平台.统一技术框架下的学校门户系统.管理信息系统和教学资源管理系统及应用平台. 根据国示范建设中有关数字化校园建设的要求及我校实际情况,采用走出去请进来,遵循面向服务架构(SOA)的设计原则进行系统的需求分析.总体设计,实现技术先进.高效稳定.安全可靠.信息规范.数据完整的一体化数字化校园系统.消除信息孤岛和应用孤岛:支持师生教学与学习:支持学校决策和管理:支持数据信息共建共享:为学校师生提供一站式管理服务:提高工作效率,提高管理效率,提高决

NFV驶入快车道: 核心网率先“漫步云端”

文/刘皓 纵观当前整个ICT市场,变革无处不在.对于电信运营商而言,这是一个最坏的时代,也是一个最好的时代:一方面,移动互联网的全新游戏规则让其一时半会儿难以适应,尤其是互联网OTT的迅速崛起给运营商带来了巨大的冲击--原有价值链被打破.业务增量不增收.逐步沦为哑管道--运营商陷入了前所未有的窘境:另一方面,在即将到来的万物互联的全联接世界,新技术和新业务不断涌现,在给运营商带来新挑战的同时,也带来了新的发展机遇. 正所谓"逆水行舟,不进则退".面对产业变革,转型成为运营商的必由之路.