前一段時間 去上了 軟體架構師精修班
因為我原本就有問題 所以我也預設了不少立場和問題
下面就來講講我聽到的和我接收到的部分~~
1.
身為一個軟體架構師 !
軟體的發展就不應該被 硬體 所侷限 !
如果硬體不足以配合一定可以透過軟體的方式 來處理!
老師的例子當然就是光棍節 !
就我自己想到我能理解的例子如下
一開始我軟體就是以 百萬人做規劃 ! 硬體足夠的情況下 百萬人可以使用 是目標 !
那這樣的軟體 就算是 後來硬體 只能承載 10 萬人! 也是可以透過軟體的方式 去處理!
如果一開始 就被硬體所侷限! 我們軟體只打算承載 10萬人 ! 這樣會造成未來的擴充的難度!
當然設計規劃的好的話! 其實 就不會有侷限問題!
另外一個重點是 硬體 很多都可以靠雲端機房取代了 ! 所以硬體 不在是問題!
2.
一張圖就是用來做好一件事情 !
而且圖是用來溝通的 !
每張圖要溝通的對象不一樣 !
所以目的也是不一樣 !
所以不用一張 使用案例圖 就要讓人明白 未來的擴充 和 規劃!
那不是 使用案例圖的目標!
如果要講未來的擴充 影響現在的規劃 !
那就是要有 1.1 的圖 1.2 的圖 讓下面的 SD 和 PG 了解!
客戶 只需要了解擴充 和展望~
如何實現客戶是不關心的! 除非他們問起!
3.
不要害怕 修改程式 !
引用新的技術 一定會有風險!
如何減少 修改的風險! 就是要靠架構去避免!
把希望期望修改的部分 包裝後 分段測試 修改 !
而且不要因為那部分 穩定 所以你就不去了解他 !
重點是 最後是需要 unit test 來證明新的部件是好用的
我覺得這段好難講~只能說 需要心領神會
總之一句 設計模式的老話 對擴充是開放的 對修改是封閉的! (我感覺到的是老話新解)
不過我的想法是 修改是封閉在某個UNIT裡面 ! 這個 UNIT 是可以用來擴充的!
舊的(修改前穩定的UNIT)也可以用 新的(使用新方法的)也可以用 !
畢竟 新的方法只是舊的一種擴充!
如果新的不能用 可以簡單 快速的換回舊的使用!
如何證明 新的 UNIT 比舊的好用 當然就是 UNIT TEST~~~
我自己想到的例子是 一開始程式就是一大包!
但是總歸就是 增刪改查 這四種方法~~
如果有新需求 或是 覺得這東西效率不彰!
就要將這一大包拆解(重構?!)成一隻控制 + 四個小 UNIT 增 刪 改 查~~
當然要確定 這四個小 UNIT 是正常運行的!
假設我修改的是刪的部分~ 我用新的方式寫了刪2 這個刪2 是新的UNIT~
將原本的刪 換成 刪2 假設刪2 不穩只需要再抽換回 刪 即可~
並不影響其他的 增 改 查~~
刪2 是 刪 的一種擴充!
將修改 封閉在一個小 unit 中( 刪2)
其實這就是 design pattern 的東西~時間不一樣 老師不一樣 廳的感覺就不一樣.
簡單講 其實是 策略模式(Strategy Pattern)的應用,
就得可以運行的是一種策略
新的可以改善效能的是一種策略
4.
同層級的要避免互相溝通 讓偶合力太高 也為了避免無窮迴圈
5.
安全性的議題 要一開始就通盤考量 ! 可以簡化 可以不做 ! 但是不可以不規劃 !
6.
規畫出來的程式要是可以測試的! 並且經得起測試. 這才是質量!
不過老師是把 測試放最後~
這應該是開發常態~
不過我怎樣想應該都是需要是 先規劃測試 在寫程式!
至少這是我了解的 TDD (其實我的想法應該還是偏向 TFD)
SA 規劃出來的東西 不就應該是可以測試的嗎?
規劃出來的一定會有通盤細節 和使用案例圖
這一點是現在才想到 所以沒能問老師 orz
不過老師有舉一個例子 是直接把 output 貼成 test 的情況以求 test 通過!
基本精神應該是跟安全性一樣! 一開始就要通盤考量每一個unit 的功能! 需求! 然後怎樣測試!
真正 測試的部分 可以簡單(一個案例) 可以複雜(多個案例串接) 可以不做 !
7.
UI UX .....總之使用者體驗的問題,
那太複雜 我左邊耳朵 進去 右邊耳朵出來...老師講啥我今天已經忘光了
8.
國際化! 在地化!
要先了解各國法規 文字 等等的東西~
然後將成是細拆成模組!
可以因應各國的需要 風情 民俗 等等去規劃~
重點是容易修改 關閉 等等等
像是二戰遊戲 要在大陸上市! 日軍的結局 就是會輸給中國! 台灣要拿掉~
在美國 有一堆人時 要有黑 白 黃 等等各種人來代表民族融合等等
在日本有特殊的抽卡的法規! 造成每一張卡 都是有用的! 等等等
在台灣會有七天鑑賞期的規定! 等等等等
這個要從一開始就規劃 和 安全性一樣!
OS: 講到國際化一定要講一下 服貿! 我國得國際化 真的只有大陸這個選項 ?我知道 大陸 韓國有簽 而且下一步也快簽成了! 但是他們那樣有效率的審了多久?我國審了多久?有多少東西有攤開來說?先攤開講讓大家有時間準備, 因應 但是現在沒有!不平等條約簽了後很多事都無法挽回!像遠通!最近的戶政!都是簽了約就已經贏了!我們說在多也沒用!很多事是急不得的要慢慢規劃通盤考量!大陸慢了沒關係!我們可以往歐美...等等等另闢戰場!, 假設真的跟大陸簽了 會不會像烏克蘭的克里米亞一樣! 趁我們哪次不穩就統一了?畢竟早就被木馬屠城了!
9.
現在是 軟體工程得黃金時代 !
因為雲端機房的產生 硬體限制不在是太大的問題 !
(只要有錢 應該啥都不是問題)
沒有留言 :
張貼留言