solid原則範例 在 大象中醫 Youtube 的最佳解答
solid原則範例 在 大象中醫 Youtube 的最佳解答
solid原則範例 在 軟體設計鮮思維社團- Open-Close 原則| Facebook 的美食出口停車場
S.O.L.I.D 設計原則- Open-Close 原則開放-封閉(Open-Close) 原則的想法是, ... 範例. 這是一個實際的案例,某資訊單位接手外包的程式碼並需要去維護並擴展它。 ... <看更多>
solid原則範例 在 Fred聊聊SOLID設計原則 的美食出口停車場
SOLID 設計 原則 是每個軟體工程師都必然學習過的開發指南,但你知道這五個 原則 其實環環相扣,而且從業務與技術方面的解耦、到介面的設計與實現等開發 ... ... <看更多>
solid原則範例 在 Re: [請益] 如何學習物件導向? - 看板Soft_Job 的美食出口停車場
首先,才接觸OO一個月會有很多疑問是很正常的
至於怎麼突破現在的問題我有幾個想法
根據你的原文,你已經學習過一些OO實作範例
那我會建議你先不要看這些範例了
先看一些理論上,理念上的東西
1.
OO是design的問題 怎麼去設計OO program
基本上OO就什麼也不是,程式怎麼寫都可以
但為什麼我們需要OO呢?
因為沒有人有辦法管理各式各樣的錯綜複雜的code
"
我們希望藉由帶入物件的理念進入軟體世界
"
物件 會有自己的屬性 外加上 我們給予的限制
會使得程式更好管控 擴充 維護...
屬性指的是 介面 => 掌控 物件行為規範
限制 single responsibility principle,Liskov substitution principle之類的
而OO的principle可以說是較重要的
注重 為什麼要這樣做 達成的好壞處
建議你先從SOLID和GRASP看起
https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
https://en.wikipedia.org/wiki/GRASP_(object-oriented_design)
2.
而你列出的
"
類別、繼承、多載、
多型、介面、委派、抽像
"
這些都算是OO的基礎
我先講一個 其他的你可以再去看其他的書介紹
為什麼要繼承
實作面: 減少code reuse (但其實call其他程式庫就好了) 沒有OO一樣可以減少code reuse
設計面: 繼承是多型的基礎 基本上你繼承就是為了多型
注重再為什麼 帶來什麼好壞處
實作什麼的晚點再看
3.
設計模式的部分
GOF翻翻就好
pattern就是先人留下來的解決方案
聖經GOF還是要讀一下
因為大家都看過,這樣在討論上可以節省很多時間解釋設計
實作就不用太仔細看了(他的實作沒有說很好) 重點在設計和為什麼
也有些文章說看太多設計模式會限制你的程式設計(現階段還不用管)
在這個階段你應該會有一些原來OO的原則 帶來這麼多好處的想法
與基礎OO設計的範例
https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented-ebook/dp/B000SEIBB8
4.
基本上OO是需要一段時間去適應學習的
注重於 analysis 和 design (OOAD)
這部分才是OO的精華與難處
這對你來說有點早
你可以多跟你們SA,SD聊聊
目前你只要遵守OO的基本principle就可以了
OOAD這種事就交給他們吧
https://www.amazon.com/Object-Oriented-Analysis-Design-Applications-3rd-ebook/dp/B004X1D1Q2/ref=sr_1_1?s=digital-text&ie=UTF8&qid=1439439664&sr=1-1&keywords=OOAD
軟體的世界就只是一堆trade-off而已
這樣方便 這樣有利 就這樣做
所以在不同的特性的產品 往往使用不同的開發流程、設計方式、程式語言
千萬不要讓OO變成唯一方案
要知道優弊 自己決定你的設計
※ 引述《dnabossking (少狂)》之銘言:
: 自認邏輯算好,也還算能寫程式
: 在學校真正念過資工相關課程只有C語言和計概
: 雖然非本科生,但QUEUE、STACK、BFS、DFS、
: 最短路徑、HEAP TREE、二元樹、紅黑樹、各種搜尋、排序
: 一些資料結構、演算法都在大四那年開始自學,
: 競賽的題目也會常常寫(都是用C)
: 一開始是因為想考資工所,後來沒考上理想學校,就直接出來工作啦
: 最近畢業,決定進入軟體業,求職也還算順利
: 本來在金融業IT,待遇福利和發展都還覺得不錯(穩定)
: 但實不喜歡他們寫的東西(RPGLE一種古老的語言),
: .... (skipped)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.74.237
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1439439976.A.2A8.html
... <看更多>