SOFA 应用架构详解

作者/分享人:张建飞
向 Ta 提问
2007年计算机硕士毕业,分别在Apple,eBay担任过Staff Engineer的职位,目前在阿里巴巴担任高级技术专家职位,是JCP的正式会员,因为对社区的贡献,去年获得阿里巴巴《ATA年度技术小二》称号。

你是不是发现系统很复杂,不断的业务叠加+代码腐化,导致酱缸的老代码越来越难维护,新来的同学,往往要捂着鼻子抠几天甚至几个月,才能理清系统和业务脉络。 在本场 Chat 中,你将学习如何摆脱“面条代码”的虐待,如何写出扩展性好,可维护的代码,以及如何使用 SOFA 去重构你的业务系统。

SOFA 是 Simple Object-oriented and Flexible Architecture 的简称,是阿里巴巴国际技术事业部自研的专门针对复杂业务场景的应用架构。

该架构主要从以下四个方面对应用进行治理:

  1. 扩展点设计:通过业务身份识别和扩展点,为应用提供扩展性,消除 if-else。
  2. 面向对象设计:通过遵循 SOLID 原则,采用 DDD 实践,将业务语义显性化。
  3. 分层设计:通过清晰的层次划分和组件定义,实现 Module 级别的 SRP。
  4. 规范设计:通过 Mvn Archetype 制定应用标准,固化架构。
已有161人预订
预订达标
文章出炉
     
05月25日
06月07日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张张建飞的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
查看文章评论/提问
橙子
建飞哥,之前在csdn上看过这篇文章了,现在又在gitchat在复习一遍。
你可能还喜欢
如何成为一名合格的 C/C++ 开发者?
范蠡
微服务中的短信服务如何设计?
猿天地
亿级 QQ 会员活动运营系统的设计之道
廖声茂
数据科学 Kaggle 比赛项目实战:Titanic
刘明
Hadoop 分布式数据存储层 HDDS:基于容器化的块服务架构层
爱闲逛的猿仔
分布式日志收集系统 Flume 应用:实时采集 Python 爬取豆瓣最新电影
Enzo
微信扫描登录