高老师的架构设计_隽语集(DD_2251)

 前言:为什么敏捷开发(Agile)逐渐进入到Android世界呢? 因为Android已经跨越单机开发,迈入多机整合、多屏互动的领域了。尤其是当今兵家必争的智慧家庭,以及新兴的智能城市领域。Android的项目日益扩大、复杂化。于是大型开发项目需要加入新潮的软件工程、新一代的架构设计思维和模式。

    为什么敏捷开发与Android是个很好的搭配呢? 理由之一是:Android有完善的测试框架,有利于建立TDD测试机制来推动迭代过程。理由之二是:Android平台架构是一个多层框架(Layered Framework)体系,框架内涵是代码,满足敏捷原则:”各项架构设计决策都必须迅速落实为代码”;有利于密切配合敏捷迭代过程。

    大型的Android开发项目和团队,应该如何采用敏捷过程、如何基于创新型的架构设计,让项目经理(PM)有效地组织开发、设计及测试人员,灵活敏捷地面对复杂多变的需求,维持高度的用户体验。

本书缘由:高焕堂于2013年在日本退休之前,基于日本师徒制的要求而传承给下一代架构师的架构思考技术(俗称设计心法)。25年来他专精于A段(投资决策前)架构设计,退休闲暇将之写成中文,欢迎大家指教

目录:請看目錄

欢迎访问 ==>高老师的博客网页

高焕堂:MISOO(大数据.大思考)联盟.台北中心和东京(日本)分社.总教练 

ee                                                                                 ee

<<看上一集-------看下一集>>

  

 

[#2251] #敏捷开发&设计思考# 敏捷开发,就客户或业主而言,代码是目的,而团队的协作&沟通,以及架构设计都是手段。然而,对于团队而言,代码和TDD(拿需求来测试代码)则是手段,借之来调整、促进团队有效协作&沟通,以及促进架构迅速重构,得出有效的架构设计;则是目的。欢迎访问:http://t.cn/8Fo3z3r

 

[#2252]自从1995年之后,在计算机语言上,基类/子类之关系,就逐渐从内涵转向形。例如,在Java里,基类/子类之间的keyword就是用extends了;其可包容组合与继承两种涵意。

 

[#2253]组合与继承都是领域的内涵,再抽像出共通之形,就看出EIT造形了。 //KorukH:通过组合来实现的话,可能更好? //高焕堂: EIT是一种造形,Inherit关系是一种内涵;extend关系是另一种内涵。就像唐诗七言绝句的造形,无论李白或杜甫的诗都能以"七言绝句"的形来呈现。

 

[#2254]大型系统或产品,参与的架构师团队人数也愈多,如何让架构设计活动敏捷起来,是个关键。以代码造形为出发点的架构设计思路,能让架构设计活动敏捷起来。当设计与开发是基于一致的形时,最能够支持Scrum的"设计一点、开发一点"的基本原则。因此,大系统也能顺利采用敏捷了。

 

[#2255]为什么我提出的EIT造形,能化解敏捷开发里,架构师与开发者之间的衔接问题呢? 答案是:因为EIT代码造形,既是代码,又是设计模式。它是架构设计师(建筑师)心中的"砖块";也是开发者(营建商)心中的砖块。前者是设计单元;后者是施工单元。两者同出而异名,是敏捷和谐的基础。玄之又玄、众妙之门。

 

[#2256]架构设计者、代码开发者、TDD测试者,是敏捷开发里的三个重要角色(Role)。小团队里,可以有一个人兼任三种角色。在大团队里,则分别有不同团队担任。如何维持开发项目的顺畅运行,架构设计的角色就非常重要了。

 

[#2257]兹举个例子,就刘备而言,当皇帝的愿景(Vision)是目的,而找到可行的大策略是手段。然而,对于诸葛亮而言,刘备的愿景则是手段,借之来引导找出先三分天下,而后统一天下的大策略;则是诸葛亮的目的。领悟其背后的思维和道理,就能深刻领悟敏捷开发,并让敏捷开发落地。

 

[#2258]#EIT架构设计思考# 虽然敏捷鼓励软件开发要迅速落实为代码(Code),这是合理的(外在)情境。但是,我们心中可以有多种视角(View)去看它。我建议的视角是:将代码看成架构的外貌。因此,架构师如何让 "架构" 搭配敏捷跌代的过程,而逐渐成长,就是焦点谜题了。http://t.cn/8Fo3z3r

 

[#2259] Android基于其开源开放,而主宰了多云融合、多机整合、多屏互动的系统平台(物的层面)。函盖了一动互联网、物联网、移动终端。敏捷则涉及开发团队(人的层面)的合作和讨论。而架构则确保人事物三方的和谐推进和目标的圆满达成。

 

[#2260]回复申导: 例如,小孩想吃鱼,对小孩而言,鱼是目的;而对母亲而言,应该将鱼变成为手段,重构出更优化的钓鱼模式则是目的;因而会钓到更多的鱼,将小孩的目的实现得更好。

 

[#2261]我的EIT软件代码造形的设计,是完全非专利,是社会公共财。能不能将非专利的创作,与专利创作两者进行有机结合呢? 两道菜,一道收钱,另一道不收钱,相辅相成,这样结合有可落地性吗?

 

[#2262] #EIT架构设计思考# 架构师是设计师,其职责是从复杂、不完整、不明确的问题处境中,找出简单的跌代起点。可是如何找出简单呢? 华人非常依赖"抽象"思维,而针对什么而抽象呢? 基于完整的客户具象的需求而抽象。然而,敏捷又从需求尚未完整时就起步,又何来的完整又具象的需求呢? 这是冲突点。

 

[#2263] #EIT架构设计思考# 如果敏捷团队有困难时,如果从团队管理视角去求解,而无效时;很可能是架构设计是问题所在,应该去调整架构设计师的视角。

 

[#2264]回复TriChaos: Java的Thread基类,它的子类(Subclass)角色是Task。还有Java的基类/子类之关系,其keyword是 "extends" 而不是 "inherit"。 //TriChaos:一般来说,组合关系不会表达为继承,第一个图中应该是菱形更合适。另外,组合和继承经常可以结合一起使用,如典型的bridge模式。

 

[#2265] #IT+Design Thinking# 现在主要的议题是:如何培养架构师的思维去设计这种组合架构,来配合敏捷跌代,提升敏捷的流畅性。更多新思维:http://t.cn/8Fo3z3r

 

[#2266] 1986年C++是传统;1996 年java语言的 子类(Sub-class) extends 基类(Super-class),一般称为非原本的 inheritance 类体系 架构师以组合思维,让架构以有机方式,从小而大组合而成大架构,这称为organic growth。 //606Qin:这和敏捷有关系?

 

[#2267]回复KorukH: <类似于Android里的setOnClickListener(),传入的接口实现就是轮胎。> 涵义上是的;但使用 {子类 / 基类} 的extends 关系,而不是 inherit关系而已。 //高焕堂:架构师以组合思维,让架构以有机方式,从小而大组合而成大架构,这称为organic growth。 //606Qin:这和敏捷有关系?

 

 

欢迎访问 ==>高老师的博客网页

高焕堂:MISOO(大数据.大思考)联盟.台北中心和东京(日本)分社.总教练 

ee                                                                                 ee

<<看上一集-------看下一集>>

  

转载于:https://www.cnblogs.com/misoo/p/3572769.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值