編輯:Android開發實例
Alexander在《建築的永恆之道》中給出的模式的經典定義是:每個模式都描述了一個在我們的環境中不斷出現的問題,然後描述了該問題的解決方案的核心。通過這種方式,你可以無數次地使用那些已有的解決方案,無需在重復相同的工作。
一般意義上講,模式包括架構模式、設計模式、編碼模式或者語言慣例。
本書的關注核心在於設計原則和設計模式。
何謂設計模式?設計模式是在某種情境下,針對某種問題的某種典型、通用的解決方案。這裡的關鍵詞如下:
情境:是在特定情境下反復出現的情況,這要要求使用模式必須分析清楚事實。
問題:問題一般就是你要實現目標或要解決的目標。
解決方案:典型的、通用的解決方案。能夠引人深思和舉一反三的解決方案。
設計模式是被發現的,不是被創造的。
設計模式被發現了、被發現著、將被發現!
設計模式來自哪裡?當然是來自人類和宇宙相互的作用。是人類長期為追求更加美好生活經驗和智慧的結晶。
設計模式來自人類與宇宙的相互作用是不是太抽象、是人類追求大腦與宇宙相互作用的永恆之道的過程是不是讓你想暈死呢?!
Take it easy!
其實模式理論的基本思想起源於中國。每一個炎黃子孫的血液中都留著模式的血液。模式充斥於中國歷史和現實生活中各個方面,無孔不入!下面我們簡要的分享一下。
《孫子兵法》到處都是模式,當然也包括設計原則。“置於死地而後生”就是其中的一種一種模式,三十六計中的“美人計”、“欲擒故縱”都是模式。現在這些模式都成了古今中外各行各業研究學習的對象。聽說美軍攻打伊拉克的時候就使用了《孫子兵法》中的很多戰爭模式。
商業中是最講究模式又是最不講究模式的。每次我們談到創業或者某種商業現象時我們都會重點思考商業模式的問題,當然也包括產品的生命周期的問題。例如現在互聯網的以廣告為主的商業模式、以服務為主的移動增值模式、電子商務模式等。不過這又是一個不講模式的領域,昨天就有一位哥們壯志豪情的對我我說:我要和你比誰跑的快的,不過我不和你比技術,因為和你比技術的話,正如大多數人一樣,這輩子都 沒贏你的機會,我要在商業中和你比誰更成功、誰更有錢!但是我只能說多多指教啊。不知道在哥們是否已經精通了一切模式,到了可以亂來的地步呢?
中國古代的法律中的很多部分都是遵循案例法的,無獨有偶,現在歐洲國家一般也采用案例法的形式。所謂案例法基本意思就是說在解決現實問題前先研究一起的案例,然後舉一反三,根據現實情況舉一反,快速而准確的解決現實問題。
醫學中也是如此,例如扁鵲的“望聞問切”。望,指觀氣色;聞,指聽聲息;問;指詢問症狀;切;指摸脈象。合稱四診(four diagnostic methods)。“望聞問切“是一般的中醫的看病的一半步驟。這是不是很像模板模式呢?
現實世界中每個國家和地區都在追求自己的最佳發展模式,喔,模式!又是模式!中國一直在探求中國特色的自己特色的發展道路。到時中國要收回香港主權的時候,小平同志就創造性的提出了一國兩制的構想,豐富了中國特色模式的道路。
愛情作為一個古老而常青的話題,被人們創建出了無數的模式,不必說
比爾蓋茨曾說,他對員工的控制只會加強,永遠的掌控,讓員工在圖靈面前哭泣吧。而在網絡中聽到關於微軟軟件開發過程的介紹中,其中非常重要的就是遵循絕對嚴格的步驟,這些都是模式。當然微軟對創新是比較寬容的,這或許是未來尋求新的更好的模式吧。
既然我們生活中的各個方面都存在著模式,或者說我們生活的一切都是按照模式運行,我們是否可以到處套用模式,模式不就是為了套用的嗎?呵呵,當然不能隨便套用!必須在合適的情境下、針對合適的問題才能采用。就是要實事求是。如果不考慮使用場合,隨便套用看病的模式,那醫院就沒有存在的必要了,生病了去Google一下不就OK了嗎?可以是事實去不是如此,要懂得辨症用藥!三國演義中的馬谡隨便套用了“置之死地而後生“的模式,簽下了軍令狀,導致幾乎全軍覆沒。結果自己被砍頭,如果不是諸葛亮仁慈,唯恐他妻兒也死罪難逃。
不過也感謝這些對模式不合適應用的現象,這產生了反模式。
反模式描述“對產生絕對負面結果的問題的一種常用解決方案” ― 旨在通過向人們展示如何避免常見的陷阱來解決問題的另一半。
當然諸多模式也可以聯手,例如開發中如日中天的MVC模式就是設計模式聯合優化的一種模式。當然,准確的說,MVC不能說是設計模式,因為MVC劃分的維度過大,MVC屬於架構模式。
在模式中,在一些比較重要的場合或者一個比較重量級的書中,你可能時不時的聽到“力“這個關鍵字,不要被”力“搞糊塗了!按照筆者的理解,”力“是實現目標的約束條件,這種約束條件可能把你帶向光明的一面-實現目標,也可能帶入痛苦的深淵-遠離目標。
其實每一種事物都是在在各種力的相互作用下存在和發展或者毀滅的。正如地球的外貌是各種相互作用的結果一樣,軟件分析、設計、開發、測試以及維護的各個階段也都是各種力相互平衡的結果。
這個世界沒有偶然。願力與您同在!
本文實例講述了Android編程實現ViewPager多頁面滑動切換及動畫效果的方法。分享給大家供大家參考,具體如下: 一、首先,我們來看一下效果圖,這是新浪微博
Android提供了許多方法來控制播放的音頻/視頻文件和流。其中該方法是通過一類稱為MediaPlayer。Android是提供MediaPlayer類訪問內置的媒體播放
登錄應用程序的屏幕,詢問憑據登錄到一些特定的應用。可能需要登錄到Facebook,微博等本章介紹了,如何創建一個登錄界面,以及如何管理安全問題和錯誤嘗試。首先,必須定義兩
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我