架構師 (Architect) 的角色

之前其實就有想寫這一篇,但是因為很忙而擱著,今天看到了某些網路文章,才讓我起意把這篇補起來。早期我寫了一系列關於架構師先決條件的文章 "邁向架構師的暖身運動",簡單說明了怎麼由架構的角度去思考系統設計的方略,今天就用這篇文章將它做個總結吧 (謎之音:其實是你自己懶吧)。

...繼續閱讀 »

[.NET][Architecture][Design Patterns] 切面導向設計 (Aspect-Oriented Programming, AOP) 的平台實作 (1) - 概念

切面導向設計是一個很有趣的技術與設計架構,它可以允許開發人員在程式執行時期在方法 (method) 中植入共用的一些操作,而且不需要由開發人員自己加,直接在核心系統中註冊就能得到植入操作的功能,最常見的例子就是記錄 (logging)...

...繼續閱讀 »

邁向架構師的暖身運動 (10) : 動乎?靜乎?

一般來說,設計與規劃一個軟體系統,不外乎是符合需求,具有前瞻性,創新力,或是試水溫等等,不管是哪一種,只要是一個有經驗 (或是現在就在做) 的系統設計師 (系統分析師亦然) 都會想要把軟體系統設計得具有十足的彈性,並且具有無限的擴充性,

...繼續閱讀 »

讓資料保持彈性的設計:Profile 架構

如果可以由資料庫本身去做彈性設計的話,對於物件使用 ORM 以及擴充上會有正面幫助,物件可以不受物件既有資料表欄位的限制,即可由物件自己去決定會多或會少哪些資料,而資料庫依照物件的要求做出反應,即可確保物件的高彈性,又可以簡化資料表的設計。這個方法即為 Profile 架構。

...繼續閱讀 »

邁向架構師的暖身運動(3):培養技術的決策力,而不是一昧的只會追新技術

只要程式開發久了,又有面對過不同層次的專案(例如產業不同,性質不同,應用方向不同或是不同的領域知識等),通常都會接觸或是使用很多的技術,而且技術的學習力又和自己本身的基礎能力有相當大的關係,它會左右你學習新技術的快慢,不過今天要談的倒不是學習力,而是決策力(Decision Making)。

...繼續閱讀 »

Framework 和 Architecture 有何不同?

前幾天我在幫我顧問公司的員工上課,剛好講題就是 Software Architecture,我在課堂上順便問了一個小問題:Framework 和 Architecture 有什麼不同?結果學員多數都答不出來,因為那間公司都把 Framework 叫做架構,但光是架構這個詞在很多技術用語上都會被套到,那麼,Framework 和 Architecture 到底哪裡不同?

...繼續閱讀 »

邁向架構師的暖身運動(2):抽象化的能力

一般在寫程式的時候,往往都是要先探詢寫這支程式的需求是什麼,如果有些工作是由流程 (process) 構成的,或者是這件工作可能會橫跨不同的模組(或資料庫),又或者是這個程式預期未來可能會有什麼樣的衍生功能時,就可以試著把這些程式中共同的部份加以抽出,獨立構成一個公用程式庫 (utility) 或是基礎類別 (base class),而將這些部份抽出的流程即稱為抽象化 (abstraction)。

...繼續閱讀 »