Loading...
团队也是架构的一部分,而且是相当重要的一部分。这要从信息流动的视角去分析。团队的组织形式即生产关系,对于一个研发团队来讲,其生产资料除了代码之外,文档和信息也是非常重要的生产资料。这些信息的流动结构和顺序也是决定一个组织效率的重要因素。因而其对于架构能够构成比较直接的影响。
我们之前只是设计了 Component的 componentDidMount机制,来做 Component 被添加或者移除的相应。而现在发现其实有些逻辑是在 Component 展示的时候做的。有一下几个关键的事件需要监听:添加或者移除frame发生变化将展示的生命周期简单的划分为两种:其在某一个Window上的隐藏与显示变化不在任何window上的隐藏与变化思考之后,决定只关注 layou...
有些扩展性来自于对于具体执行侧的不确定,正式因为这种不确定导致可以在运行时进行一些替换。这种替换会为整个程序带来扩展性。一些比较典型的例子例如:页面路由依赖注入页面路由是不确定具体展示的内容,只知道要跳转到一个位置。而依赖注入是需要一个资源,具体这个资源是啥可以动态返回。除了上面这些场景,我们在其他一些地方进行过一些探索,比如图片等静态资源的使用上。构建了这种支持各种不确定性的能力,则能够给...
以正合,以奇胜,中国古代的一种用兵思想。指挥员在作战中,要正确地使用兵力,灵活地变换战术。《孙子兵法·势篇》:“凡战者,以正合,以奇胜。故善出奇者,无穷如天地,不竭如江海。”这里的“正”是指用兵的常法,反映着战争指导的一般规律; “奇”是指用兵的变法,反映着战争指导的特殊规律。“奇”在后面被传误,孙子兵法阐述的都是战争的基本理论并不是一个投机取巧的法则,“奇”同音“机”而不是同音“其”;意思...
在服务端研发中经常提起一个词 “服务治理”。大概意思是当架构往微服务迁移后,因为拆解了,引入了一系列新的问题,所以需要治理。我们来看客户端,当整个客户端架构迁移到组件化架构之后,monolithic的程序,被拆解成了无数的components,然后由components再拼装起来。然后,因为拆的太碎,就会引入问题。例如启动速度,包体积等等。而实际操作中,大家也都是把启动速度、包体积优化等工作...