作者xtxml (赤木巧☠)
看板Soft_Job
標題Re: [閒聊] OOP小評
時間Tue Mar 3 03:05:29 2015
※ 引述《csfgsj (Lazy bone)》之銘言:
: 這應該是GUI吧!
: 跟UI比起來
: GUI程式是一個很大的程式,但你只是在寫其中的一小小部分
: 通常就是組態設定參數初始化作業
: 以及
: 事件訊息發生時的對應程式
: 這個訊息通常來自於Polling whileloop
: (寫單晶片的都知道這只是基本款)
: 不過你可能不容易見到它,甚至連程式的main()都不知去向
: (有些初始化作業跑到建構子裡去了,也看不到)
: (繼承後會不會亂成一堆,也是眼不見為淨,你家的事)
會亂成一堆個鬼啦,你要不要舉一個GUI framework繼承之後亂成一堆的例子來看看?
我們不妨來看一下是你的理解能力的問題,還是OOP的繼承如此像是亞馬遜叢林?
大哥,你到底懂不懂『繼承』這兩個字的意思啊?
你吐槽繼承有些侷限性就算了,居然吐槽的是『繼承後會不會亂成一堆』...
我也很想吐槽你對OOP的sense。
: 原因是
: 由於每一支GUI程式大架構都一樣
: 只有相對很小部分的組態及事件訊息對應程式需要客製化
: 因此XX都會將它包成Framework
: 只有需要客製化的部分才揭露出來給你修改
: (剛開始還沒oop化)
: 再加上OOP化之後,就是你現在看到的樣子
: (那些難看的Code都被 "封裝" 到電鍋裡了)
: (放心,它們再也不會跑出來煩你了)
: (電鍋裡有沒有蟑螂,也不會讓你知道,至少吃飯時的不會覺得噁心)
: 從以前的MFC到現在的Android App 都是如此
: (C++與JAVA是一家人)
你提到MFC,你知道他是封裝什麼來著嗎?Windows API。
Windows API整個就是C style啦,你創造一個視窗就是呼叫hWnd = CreateWindowEx(...);
好啊,你告訴我CreateWindowEx具體做了什麼事好嗎?你怎麼知道裡面沒蟑螂?
前面說"初始化作業跑到建構子裡去了,也看不到",現在沒跑進建構子,你就看到了嗎?
你告訴我,不看使用說明,你拿個hWnd你會知道背後有多少意義嗎?
這可是完全沒有一絲OOP在裡面,就是單純的callback + handle。
所以不是OOP你就有比較知道裡面在幹嘛?根本沒有...
這擺明就是包起來的東西,扯到封裝...zzz,你真的知道OOP裡面的封裝是什麼意思嗎?
還是你以為封裝等於看不到?
依照慣例,大概又要說你不屑用MS的東西
好,openGL有沒有用過?同樣是C style沒有OOP的問題。
你要不要解釋看看他每個API是怎麼實作的?抱歉,各家的實作通常都讓你看不到,
還是說你隨時都知道他的每個三角形是怎麼畫出來的,一路怎樣跑進shader的?
我今天不是來戰C的啦,是來戰你這種不懂OOP,又愛講一堆似是而非東西的態度,
你真的有點理工素養的話,就是事實勝於雄辯,可惜你就是不敢去提任何一個"事實"。
整串看下來,你的文章通篇都說OOP隱晦隱晦隱晦隱晦隱晦隱晦隱晦隱晦隱晦隱晦。
現在還沒看你提出一個,因為OOP而變得難以trace的實例。
你真的要戰,就戰得專業點,這樣大家都心服口服,
不然看你對OOP這種程度的理解,卻發了一整串的OOP小評,實在是哭笑不得。
p.s.對了,請不要把我歸類為OOP信徒,我想我寫C並不會比你弱:)
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 125.227.131.77
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1425323132.A.BD2.html
→ Lordaeron: 如何才叫懂OOP啊? 有證照嗎? 03/03 08:16
※ 編輯: xtxml (125.227.131.77), 03/03/2015 08:40:00
→ ACMANIAC: 沒有。 03/03 08:41
→ csfgsj: 在板上看久了,發現要證明自己懂OOP有兩種方式: 03/03 08:50
→ csfgsj: 1.背條文:將OOP的特性羅列一次 03/03 08:51
→ csfgsj: 2.將「你不懂OOP啦!」這句話時刻掛在嘴邊 03/03 08:51
推 iceonly: 樓上讓我以為來到了政黑板;不是所有人都需要證明自己懂O 03/03 09:03
→ iceonly: OP 03/03 09:03
→ TonyQ: @csfgsj 每個人都需要對自己的立論負責,你的立論膚淺而缺 03/03 09:03
推 TonyQ: 乏細節,被質疑是否正確理解 oop 是非常正常的事情。 03/03 09:04
→ xtxml: 我根本不用證明我懂不懂OOP 03/03 09:12
→ xtxml: 只是要說明你的言論就是把一堆毫無關係的問題硬扯到OOP頭上 03/03 09:12
推 rexdauder: 中肯好文 03/03 12:06
→ Lordaeron: 要說別人硬扯到OOP頭上,哪麼得先懂什麼是OOP吧? 03/03 12:10
→ Lordaeron: 還是像台灣人英明其妙的瘋足球一樣有趣? 03/03 12:23
推 rupcj8: 有人的理解能力就有問題啊 真想知道在哪裡高就 03/03 12:45
推 sorryla: 不用先懂OOP阿 只要說明他的問題在其他地方遇的到就成立 03/03 18:21
推 k1400: 03/04 00:23