高老師的架構設計_雋語集(DD_2251)

 前言:爲何敏捷開發(Agile)逐漸進入到Android世界呢? 由於Android已經跨越單機開發,邁入多機整合、多屏互動的領域了。尤爲是當今兵家必爭的智慧家庭,以及新興的智能城市領域。Android的項目日益擴大、複雜化。因而大型開發項目須要加入新潮的軟件工程、新一代的架構設計思惟和模式。html

    爲何敏捷開發與Android是個很好的搭配呢? 理由之一是:Android有完善的測試框架,有利於創建TDD測試機制來推進迭代過程。理由之二是:Android平臺架構是一個多層框架(Layered Framework)體系,框架內涵是代碼,知足敏捷原則:」各項架構設計決策都必須迅速落實爲代碼」;有利於密切配合敏捷迭代過程。java

    大型的Android開發項目和團隊,應該如何採用敏捷過程、如何基於創新型的架構設計,讓項目經理(PM)有效地組織開發、設計及測試人員,靈活敏捷地面對複雜多變的需求,維持高度的用戶體驗。設計模式

本書原因:高煥堂於2013年在日本退休以前,基於日本師徒制的要求而傳承給下一代架構師的架構思考技術(俗稱設計心法)。25年來他專精於A段(投資決策前)架構設計,退休閒暇將之寫成中文,歡迎你們指教架構

目錄:請看目錄框架

歡迎訪問 ==>高老師的博客網頁測試

高煥堂:MISOO(大數據.大思考)聯盟.臺北中心和東京(日本)分社.總教練 大數據

ee                                                                                 ee優化

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

  

 

[#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

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

相關文章
相關標籤/搜索