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

斑斓

张逸的技术分享
专栏作者
256
文章
255799
阅读量
60
订阅数
菱形对称架构
在实施领域驱动设计的过程中,限界上下文(Bounded Context)扮演了关键角色:它既是维护领域模型完整性与一致性的重要边界,又是系统架构的重要组成部分。随着社区对限界上下文的重视,越来越多的人开始尝试将更多的架构实践与限界上下文融合在一起,创造出符合领域驱动设计的架构模式。
张逸
2020-03-26
1.8K0
自治的对象才是好对象
当我们将对象的行为看作职责时,就赋予了对象的生命与意识,使得我们能够以拟人的方式对待对象。一个聪明的对象是对象自己知道应该履行哪些职责,拒绝履行哪些职责,以及该如何与其他对象协作共同履行职责。这时的对象绝不是一个愚笨的数据提供者,它学会了如何根据自己拥有的数据来判断请求的响应方式、行为的执行方式,这就是所谓的对象的“自治”。
张逸
2019-05-15
5940
限界上下文的边界
边界通过限界上下文来确定,这在领域驱动设计中具有非凡的意义。对应于通用语言,限界上下文是语言的边界,对于领域模型,限界上下文是模型的边界,二者对应于问题空间(Problem Space)的界定。对于系统的架构,限界上下文还确定了应用边界和技术边界,进而帮助我们确定整个系统及各个限界上下文的解决方案。可以说,限界上下文是连接问题空间与解决方案空间的重要桥梁。 那么,限界上下文所界定的边界,究竟是逻辑边界,还是物理边界?这并没有定论,需得依据不同场景而做出不同的决策。 逻辑边界 根据业务对领域进行逻辑分解时,
张逸
2018-03-07
1.4K0
我们的产品架构
本文是我在中生代技术群分享的话题《创业一年经历的技术风雨》中的第一部分《产品架构与技术选型》的第一部分。 整体架构 我们的产品代号为Mort(这个代号来自电影《马达加斯加》那只萌萌的大眼猴),是基于
张逸
2018-03-07
9030
Spark SQL访问Postgresql
随着Spark SQL的正式发布,以及它对DataFrame的支持,它可能会取代HIVE成为越来越重要的针对结构型数据进行分析的平台。 随着Spark SQL的正式发布,以及它对DataFrame的支
张逸
2018-03-07
1.6K0
设计匠艺 | 小即是美之二
小的益处还有一点,它可以使得我们在架构决策或技术选型时,可以变得更加从容。 譬如说,因为某些原因我们需要将整个企业系统从WebLogic上迁移到JBoss上,无疑,这是一个艰难的决定。即使在决策确定,要完成整个迁移也将是一个漫长的过程。如果系统是基于Micro Service的架构风格进行构建,每个服务根据各自情形选择自己的技术栈。倘若需要对某些服务进行技术栈迁移,相信这个问题不再变得棘手。——大象可以轻盈地跳舞,但付出的努力会百倍于一只敏捷的狐狸。 如今,Java已经发展到Java 8,引入的Lambda
张逸
2018-03-07
5270
决策技术栈迁移的因素
一. 决策技术栈迁移的因素 那么,为何要进行技术栈迁移呢?是否是原有技术无法满足新的业务需求?对于遗留系统而言,这种情况总是存在,即需要扩展旧有系统的功能来满足新的业务。然而,这一原因并不足以支持做出技术栈迁移的决策。因为,从技术实现的角度来看,无论采取何种技术,都可以实现各种业务功能,无非是付出的成本不同而已 。基本上,这种成本一定会低于技术栈迁移的成本。此外,当今的软件开发,常常会将一个软件系统看做是完整的生态系统,在这个生态系统圈中,完全允许有多种技术平台(包括多种语言,甚至多种数据库范式)存在,只要
张逸
2018-03-07
1.1K0
Scala的面向对象与函数编程
很难说FP和OO孰优孰劣,应该依场景合理选择使用。倘若从这个角度出发,Scala就体现出好处了,毕竟它同时支持了OO和FP两种设计范式。 从设计角度看,我认为OO更强调对象的自治,即每个对象承担自己应该履行的职责。倘若在编码实现时能遵循“自治”原则,就不容易设计出贫血对象出来。FP则更强调函数的分治,即努力保证函数的纯粹性和原子性,对一个大问题进行充分地分解,分别治理,然后再利用函数的组合性完成职责的履行,即所谓“通过增量组合建立抽象”。 需求 我最近正在编写的一个需求场景,正好完美地展现了这两种不同范式的
张逸
2018-03-07
8210
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档