Ruddy Lee 分享空間

Emergent Design 演化設計

Archive for 九月 2011

架構實在有夠多,左兜右抄就 … 做完了!

with one comment

來談談太多架構所帶來的有趣現象,那就是…

Minimizing understanding Is the ways to maximize functionality.

意思就是說;淺層的理解才能產出更多功能。
(淺層的理解 Cluelessness語出Martin Rinard 2006在OPPSLA的演講;全文可以在這裡找到http://wiki.apidesign.org/wiki/Image:RinardOOPSLA06.pdf,談的也就是時下流行的兜兜理論,說得簡單一點就是用copy/paste寫程式)

有人這麼說,WCF是最典型的過度包裝架構

話說;明明就是ㄧ個再簡單不過的rest API,也不過就是一行URL,都能夠被WCF拿來大作文章,還因此創新了一個Odata的協定,好扯! 但你説它沒用嘛;卻還真是可以幫你減輕不少工作。

==> 加入WCF參考: using System.Data.Servies; 一切就搞定了,用不著弄清楚反正可以用了。

只是這樣作會不會畫蛇添足了呢?!對程式設計人員運用起來確實是輕鬆許多,但卻也更看不到真正的來籠去脈,因此對整個程式的掌握度就更脆弱了許多,無形中損失了優美程式的精簡和明確(當然真理也被隱藏了…),整個程式變的醜陋而缺乏生氣,可是它workㄚ! 或許還能在它有限的生命週期內,work得很好呢!你説這是對還是錯?好還是不好?

老實說: 從物件到架構,不就是為了隱藏複雜度,進而加快產能嗎!所以這麼作是對的。

但我想說的是;至少請保留優雅而簡潔的 API 吧!

最近在coding 的過程,總是畫好架構後就開始想盡方法,幾乎極致的運用google到處搜尋可以參考的範例或架構程式,有時我都搞不清楚,這是在寫程式嗎?!曾幾何時;寫程式都在靠搜尋的(還真是有效率),但這對程式員而言,好像越來越不需要懂太多或可以說是沒必要太深入了解基礎知識了!(相對於深度理解應該是淺度理解吧,令人感慨的正是如此,老一派的學者會說成:不求甚解…)這種作法方式是成立的,而且至少它是一種可以迅速完成工作的方式,只是程式模組與模組之間的介面卻成了我們唯一在意的部份了,這裡想推薦一本API的巨著(描述的太誇張,其實設計API就是要快寫快改,踏實而簡潔的前進,沒有太多訣竅的,過去我都習慣用XML or JSON 格式先做Simulation, 但這一招現在的年輕人已經不用了,直接copy來用不就成了)。

想對抗淺度理解,我也沒有方法,只能繼續推廣大家多多閱讀囉!
Practical API Design by: Jaroslav Tulach著。沒錯正是NeatBeans的創始人的得意作品。

它分成二部份,第二部份才是談API設計的,前面的一部份較多感觸跟玩味,哈!其實我比較喜歡他寫得亂七八蹧的第一部份,看人囉~(老狗說太亂)

by: Jaroslav Tulach著。

沒錯正是NeatBeans的創始人的得意作品。

補述一下: 不求甚解的結果;就是越來越缺乏創造力,動不動就會經常卡住,久而久之則淪於工匠之流。還是開卷有益! 請多讀書吧!
要想做好一件事情,首先;我們應該要先了解它。 這是我們在學習設計模式時的箴言,只有真正了解了模式的意義才可能有良好的運用及產出。
祝 你(妳)閱讀愉快!

廣告

Written by ruddyllee

2011 年 09 月 17 日 at 21:49:58

張貼於未分類

Tagged with

Techdays 2011 COS301 Windows Azure 儲存體的深入設計及運用

with one comment

COS301 Windows Azure 儲存體的深入設計及運用

深入雲端的Storage課程



300級的課程: 講些甚麼呢?!

[ 電影 : 武俠 ]
(重點放在飾演捕快的 金城武;在 櫃坊之戰 後的調查過程,藉以影射在雲端運用紀錄 Log 的過程方法及重要性的說明)

這一場課程將把重點放在針對Storage 輔以扎實的雲端程式撰寫基礎上

將特別針對大家最容易搞混的 Table Storage 做出非常詳盡的程式碼範例展示,並在觀念上;修正大家把他看成Simple DB 的誤導。

這麼做的原因是: 想在短暫的70分鐘裡,刻意的放掉那些(Blob-Queue 及Drive) 學員自己就能看懂的東西,希望一次讓大家弄懂Windows Azure Table 的運用
(希望有大幫助)。

課程資料已經放在: RuddyLee Skydrive 上了:
https://skydrive.live.com/?sc=documents&cid=68b24674607c69d9#!/?cid=68b24674607c69d9&sc=documents&id=68B24674607C69D9%211100

希望聽過的人接著去上以下的課程,會有較為完整的一致性:
SQL Azure . COS302 . 朱明中
SQL Azure 概觀:架構,工具,安全與開發方法.

Azure API services . COS304 . 朱明中
以 Windows Azure 服務管理 API 活化應用程式的部署與平台管理.

Windows Azure . COS305 . 王寧疆
移植 ASP.NET 網站到 Windows Azure 雲端環境.

BoF08:陳仕傑
自動化測試實戰經驗分享.
程式開發事半功倍的關鍵,本場 BoF 助您功力突飛猛進.

因為這篇文章讓我想把重點放在 Table storage 上的:
Windows Azure Table Storage – Not Your Father’s Database
http://msdn.microsoft.com/en-us/magazine/ff796231.aspx

Written by ruddyllee

2011 年 09 月 12 日 at 08:13:45

張貼於未分類

Tagged with