首页
学习
活动
专区
工具
TVP
发布

斑斓

张逸的技术分享
专栏作者
256
文章
257446
阅读量
60
订阅数
架构设计的三个原则
一致性是软件架构质量原则的根基,遵循一致原则的软件架构可以有效地保证整个架构解决方案的清晰直接,降低了解决方案的复杂度。尤其对于一个大规模系统,往往需要多个团队共同开发完成,如果不遵循一致原则,就会导致整个平台的建设缺乏完整性和规范性,各个子系统各自为政,业务功能重复开发,技术实现五花八门,服务集成复杂低效,信息冗余制造出知识壁垒。
张逸
2023-03-23
4780
构建领域驱动设计知识体系
本次演讲是我创作GitChat课程「领域驱动战略设计实践」和「领域驱动战术设计实践」这两年来,随着对领域驱动设计的深度理解,结合自身项目经验总结的领域驱动设计知识体系。
张逸
2019-12-05
1.3K0
职责驱动设计以及状态模式的变化
针对某通信产品,我们需要开发一个版本升级管理系统。该系统需要通过由Java开发的管理后台,由Telnet发起向前端基站设备的命令,以获取基站设备的版本信息,并在后台比较与当前最新版本的差异,以确定执行什么样的命令对基站设备的软件文件进行操作。基站设备分为两种:
张逸
2018-12-29
8430
以RAID分析作为架构驱动力
寻找架构驱动力 人类自开始学会以智慧洗亮观察世界的双眼之后,就明白观察事物不能浅尝辄止停留在表面现象,而要去看透本质。通过本质规律去建模世界,才能以“一”推演万物。种种推演的过程,皆是要去寻找某种驱动力量作为分析或建构的起点。 例如,当我们要分析一个运动中的物体会形成如何的运动轨迹时,就需要寻找产生运动的力,包括初始的动力、重力、摩擦力以及其他可能干扰物体运动的力。有的力会推动者物体向前,例如初始动力以及与运动方向保持一致的作用力;有的力会阻碍物体的运动,如摩擦力或者空气阻力等。通过分析这些力的方向及度量,
张逸
2018-03-07
1.7K0
风险对架构设计的驱动力
我在博客文章《以RAID分析作为架构驱动力》中介绍了RAID分析方法。这个方法将风险作为其中的一个重要驱动力,指导我们进行架构设计,避免陷入未知的陷阱。 无独有偶,Simon Brown在其著作Sof
张逸
2018-03-07
7560
大数据系统的Lambda架构
在大数据处理系统中,如何有效地将real time与batch job结合起来,既发挥前者对响应的实时性,又能解决对海量数据的分析与处理?答案就是Lambda架构思想。 Mathan Marz的大作Big Data: Principles and best practices of scalable real-time data systems介绍了Labmda Architecture的概念,用于在大数据架构中,如何让real-time与batch job更好地结合起来,以达成对大数据的实时处理。 传
张逸
2018-03-07
1.4K0
美丽的架构
美丽的架构究竟是怎样的?架构师们上下求索,孜孜以求,始终不得其解。归根结底,美丽这个词语总还是偏于感性认识,就仿佛音乐之美,绘画之美,不能以尺度来衡量,追求的其实是一种艺术的幽玄与妙悟,述之以规范,述之以标准,就未免落入下乘了。 软件架构终归属于工程学的范畴,不能一概以“只可意会不可言传”来搪塞,因为架构知识是可以传递的,架构文档是可以共享的,最重要的是,架构自身是可以评审、验证与实现的。 Stephen J. Mellor在《架构之美》序中,画龙点睛地勾勒出美丽架构的模样,即必须遵循的一些普遍原则,分别
张逸
2018-03-07
7620
重新审视演进式设计
演进式设计是一种理念,它曾经颠覆过传统笨拙的计划式设计,如今,它依旧焕发着生命力,但我们不能以静止的眼光去看待它,而应该尝试着引入一些新的方法、框架乃至技术。 说起来,所谓Evolutionary Design已经是老生常谈了。早在2004年,Martin Fowler在文章Is Design Dead中就深刻地比较了计划式设计与演进式设计,至今阅读这篇文章,对于理解敏捷和演进式设计依旧振聋发聩。我在文章设计恰如其分的架构中,也算得上是旁征博引地阐述了诸多与演进式设计相关的理念,例如Neal Ford提出
张逸
2018-03-07
7000
可伸缩系统的架构经验
最近,阅读了Will Larson的文章Introduction to Architecting System for Scale,感觉很有价值。作者分享了他在Yahoo!与Digg收获的设计可伸缩系统的架构经验。在我过往的架构经验中,由于主要参与开发企业软件系统,这种面向企业内部的软件系统通常不会有太大的负载量,太多的并发量,因而对于系统的可伸缩性考虑较少。大体而言,只要在系统部署上考虑集群以及负载均衡即可。本文给了我很多启发,现把本文的主要内容摘译出来,并结合自己对此的理解。 Larson首先认为,一个
张逸
2018-03-07
7710
如何在咨询项目开展Inception
本文通过我在咨询工作中的真实案例讲解了如何将敏捷开发的Inception与可视化咨询手段结合。2014初,我作为咨询师为客户提供咨询服务,负责一个新项目的敏捷咨询、架构以及开发编码工作,距今已有四年时间,文中内容已经不再敏感。个人认为,这次咨询的一些方法与经验有值得借鉴之处,因而分享给大家,以资参考。 破冰之旅 我们要开始的项目是重写原有的一个版本管理系统,将其一部分内容从主控板中剥离出来,并将原有的C实现改为Java实现。项目的目标和范围相对确定,但架构方案还有待进一步确认。此外,团队成员只有C语言背景,
张逸
2018-03-07
1.2K0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档