模擬程式範例

模擬播放器程式-一坨程式版: https://github.com/exia56/player-training
模擬播放器程式-模組化版: https://github.com/exia56/player-training2

為了可以有實際應用來說明之前的SOLID原則,所以想了想還是直接寫code最好。
有實際的程式邏輯可以跟大家說明,簡單明瞭。

以上2個程式的情境與需求都一樣,可以說是測試某些播放器的設定與使用方法的基本程式碼。
也因為只是為了簡單說明SOLID的原則,所以沒有實際串接播放器的套件(例如:VLC,WMP)。

訓練自己的GIT能力

同時,該這2份程式也只是在訓練我個人的使用CLI下GIT指令的能力~(之前都是直接用GUI的軟體上傳
也向大家模擬一部分GIT衝突的問題。
因為如果我們沒有將程式碼分類、切割、解耦的話,很容易在開發的過程中出現衝突的情況。
在解決衝突時,很有可能會取用到錯誤的程式碼,同時也是一件浪費時間的事情,所以我們能避免衝突就要盡力避免衝突。

程式的差別

一坨程式版中,每次合併時都會出現衝突。。。
而且未來可能主程式會越來越大,所以未來衝突的機會只會增加,不會減少。
注意!這不是個正式,真的程式碼,衝突是我刻意產生的,也是訓練我自己的能力

模組化版中,因為對於每一個部分的定義清楚明瞭,只要定義不改,則不會修改到上層的程式碼,這樣就不會出現衝突了~
而且每次需要修改套件時(VLC、WMP),都只需要增加一個Player物件,然後在宣告時修改實作的物件即可。