13 张建飞(Frank)

尚未进行身份认证

我要认证

What doesn't kill you make you stronger!

等级
TA的排名 2w+

奥卡姆剃刀:让事情回归简单

最近,阿里云的同学告诉我,COLA作为应用架构,已经被选入阿里云的Java应用初始化的应用架构选项之一。This is really something,于是,在这个里程碑节点上,我开始回过头来,重新审视COLA一路走来的得与失。COLA作为一种架构思想无疑是成功的。但是作为框架,个人感觉有点鸡肋之嫌。 特别是在简洁性上做的不好,感觉做了不少画蛇添足的事情。试想一下,有些功能我作为作者都很少去使用,我实在想不到,它为什么还有存在的理由。基于上面的思考,我做了这一次COLA 2.0 到 COLA 3

2020-06-26 23:45:46

人人都是架构师:架构是一种能力,不是头衔!

架构是一种能力,它不是头衔。 换句话说,我们需要具备架构能力,但不一定要成为架构师。就像邓公,他被称为改革开放的总设计师,但他不是设计师。既然这样,那我们还需要架构师吗?还需要架构部门吗...

2020-06-16 10:05:05

人人都是架构师:架构是一种能力,不是title!

架构是一种能力,它不是职位。 换句话说,我们需要具备架构师的能力,但不一定要成为架构师。就像邓公,他被称为改革开放的总设计师,但他不是设计师。既然这样,那我们还需要架构师吗?还需要架构部门吗?我给出的答案是:我们不需要架构师,因为每个人都应该是“架构师”。为什么架构师不work在来阿里之前,我是在eBay的payments部门工作,当时有一个架构师叫Scott,所有的设计和方案都需要获得他的approve才能通过,结果他成了整个团队的bottleneck,很多事情都block在他那个地方。工程师很

2020-06-15 13:55:13

DSL初探之“无状态”的状态机

最近在一个项目中,因为涉及很多状态的流转,我们选择使用状态机引擎来表达状态流转。因为状态机DSL(Domain Specific Languages)带...

2020-03-30 14:52:07

实现一个状态机引擎,教你看清DSL的本质

最近在一个项目中,因为涉及很多状态的流转,我们选择使用状态机引擎来表达状态流转。因为状态机DSL(Domain Specific Languages)带来的表达能力,相比较于if-else的代码,要更优雅更容易理解。另一方面,状态机很简单,不像流程引擎那么华而不实。一开始我们选用了一个开源的状态机引擎,但我觉得不好用,就自己写了一个能满足我们要求的简洁版状态机,这样比较KISS(Keep It ...

2020-03-20 18:53:54

关于面向接口编程,你真的弄懂了吗?

什么是接口(What)百度说:接口泛指实体把自己提供给外界的一种抽象化物,用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。人类与电脑等信息机器或人类与程序之间的接口称为UI(User Interface ,用户界面)。电脑等信息机器硬件组件间的接口叫硬件接口。电脑等信息机器软件组件间的接口叫软件接口。牛津字典说:Interface: A p...

2019-11-02 22:54:29

解决问题黄金三步:定义问题—分解问题—归类分组

我们经常说软件开发中,没有银弹。的确,单看软件领域,很少有什么方法论是普适的。然而再拔高一些,跳出软件的范畴,是有一些东西是普世的,比如老子说的“道”。好吧,“道”说的有点大。不过,最近我的确有一个新发现——我发现“归类分组”在我们解决问题中起着巨大的作用。而这里的“问题”不仅仅限于软件设计,从日常生活、产品设计到公司战略、生物分类。都有它的身影。这是为什么呢?究其原因可能有两个:一、归类分...

2019-09-03 19:52:00

应用架构COLA 2.0

很多同学不止一次和我反馈,我们的系统很混乱,主要表现在:应用的层次结构混乱:不知道应用应该如何分层、应该包含哪些组件、组件之间的关系是什么;缺少规范的指导和约束:新加一段业务逻辑不知道放在什么地方(哪个类,哪个包)、应该起什么名字比较合适?解决这些问题,正是我创建COLA的初心之一——试图探索一套切实可行的应用架构规范,这个规范不是高高在上的纸上谈兵,而是可以复制、可以理解、可以落地、可...

2019-08-26 11:58:28

被提拔成主管后如何提升自己的管理能力?

作者:空白白白白 来自:知乎我是26岁当上数据总监的,当时完成了公司的数字化转型,帮助公司带来盈利。就被提拔上成为管理者了。我一下子从专注于自己的事的工程师到搭建团队还要...

2019-08-21 18:00:03

一文教会你如何写复杂业务的代码

了解我的人都知道,我一直在致力于应用架构和代码复杂度的治理。这两天在看零售通商品域的代码。面对零售通如此复杂的业务场景,如何在架构和代码层面进行应对,是一个新课题。针对该...

2019-08-02 10:45:21

复杂业务代码要怎么写

了解我的人都知道,我一直在致力于应用架构和代码复杂度的治理。这两天在看零售通商品域的代码。面对零售通如此复杂的业务场景,如何在架构和代码层面进行应对,我有了一些新的思考,在此分享给大家。我相信,同样的方法论可以复制到大部分复杂业务场景。一个复杂业务的处理过程业务背景简单的介绍下业务背景,零售通是给线下小店供货的B2B模式,我们希望通过数字化重构传统供应链渠道,提升供应链效率,为新零售助力。...

2019-08-01 18:33:14

应用架构之道:分离业务逻辑和技术细节

架构什么是架构?关于架构这个概念很难给出一个明确的定义,也没有一个标准的定义。硬是要给一个概述,我认为架构就是对系统中的实体以及实体之间的关系所进行的抽象描述。架构始于建筑,是因为人类发展(原始人自给自足住在树上,也就不需要架构),分工协作的需要,将目标系统按某个原则进行切分,切分的原则,是要便于不同的角色进行并行工作。为什么需要架构?有系统的地方就需要架构,大到航空飞机,小到一个电商...

2019-07-04 07:28:00

复杂性应对之道——抽象

写本文的原因是,抽象是软件设计中最重要的概念。但抽象这个概念本身又很抽象,我们有必要花一些时间深入理解抽象、抽象的层次性,以及不遗余力的不断提升我们抽象能力。抽象的力量没...

2019-06-23 17:33:34

《代码精进之路:从码农到工匠》——抽象

写本文的原因是,抽象是软件设计中最重要的概念,但抽象这个概念本身又很抽象,值得我们花时间去好好探究一番。抽象的力量没有抽象思维,就没有人类光辉灿烂的现代文明。原始人看到一片树林,不会给它们一个名字,比如叫“松树”。他们会给每一棵树取一个独特的名字,可能叫“silisiba”。原始人只知道某棵具体的树。随着意识水平的发展,人类开始有意识地将具有相同特征的事物归并到一起,从“silisiba”...

2019-06-21 11:08:43

《代码精进之路:从码农到工匠》

我有一个梦想,我写的代码,可以像诗一样优美。我有一个梦想,我做的设计,能恰到好处,既不过度,也无不足。这种带有一点洁癖的完美主义就像一把达摩克利斯之剑,时刻提醒我不能将就、不能妥协。完美主义的代价是在很长时间里持续的迷茫和焦虑。甚至一度,我对软件行业是失望的,怀疑在软件的世界里,到底还有没有优雅的代码和整洁的架构。如果有的话,为什么所有的业务代码都像一座座“屎山”,既不优雅也不整洁,既晦涩又...

2019-06-21 10:59:51

阻碍你发展的是《能力陷阱》

读书的一大乐趣就是可以颠覆认知,让不同的思想在你这里汇聚,拓展你的思维,丰富你看问题的角度,让你在变化中成长。最近这本《能力陷阱》无疑是给我在认知上带来冲击很大的一本书,读完这本书,我自己也被惊出一身汗,这些陷阱真实存在,但自己却浑然不知。对了,这本书的作者是埃米尼亚·伊贝拉(Herminia Ibarra),全球50大管理思想家(Thinkers50)之一,哈佛商学院巡视委员会成员,欧洲工商管...

2019-06-17 16:07:21

万物流变:从辩证法看互联网架构和人生

辩证法这两天在学习辩证法,发现辩证法的思想非常有意思。辩证法简单的说就是事物都是运动、变化和发展的,事物的对立面在某些情况下是可以互相转换的,而且正是这种矛盾推动着事物向前发展。辩证法的思想自古有之,也是系统化思维和思辨思维的重要方法论,我们先简单看下其历史和脉络。中国古代朴素辩证法“祸兮福所倚,福兮祸所伏”“物极必反”, “否极泰来”“天下大势,分久必合,合久必分”。希腊古代辩...

2019-06-14 14:49:32

结构化思维,让你的工作有条不紊

在日常工作中,我们时常会碰到这样的情况,有的人讲一件事情的时候逻辑非常混乱,前后没有逻辑性关联,不能把一件事情说清楚。这种思维混乱是缺少结构化思维的典型表现。实际上,我们不仅在表达上要结构化,在分析问题的时候更要有结构化思维,这样才能分析的更全面、更深刻。什么是结构化思维那么到底是什么是结构化思维呢?我给结构化思维的定义就是逻辑+套路。表达要有逻辑所谓逻辑是指我们的结构之间必须是有逻辑关系...

2019-06-14 14:35:10

使用结构化思维,让工作有条不紊

在日常工作中,我们时常会碰到这样的情况,有的人讲一件事情的时候逻辑非常混乱,前后没有逻辑性关联,不能把一件事情说清楚。这种思维混乱是缺少结构化思维的典型表现。实际上,我们...

2019-06-14 14:20:57

世界上唯一不变的就是变化:互联网架构的辩证发展

辩证法这两天在学习辩证法,发现辩证法的思想非常有意思。辩证法简单的说就是事物都是运动、变化和发展的,事物的对立面在某些情况下是可以互相转换的,而且正是这种矛盾推动着实物向...

2019-06-10 09:23:17

查看更多

勋章 我的勋章
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。