程式 程式的本質是對現實生活的建模,反映真實世界。程式是對現實的抽象。那我們拿現實與程式對比著看,在現實生活,最重要的是處理人與人之間的關係,處理好人與人之間的關係,生活不會太難,而反映到程式是,在程式里最重要,最關鍵是處理類與類之間的關係,處理不好類與類之間的關係,到後期,一個項目將會分崩離析。在 ...
程式
程式的本質是對現實生活的建模,反映真實世界。程式是對現實的抽象。那我們拿現實與程式對比著看,在現實生活,最重要的是處理人與人之間的關係,處理好人與人之間的關係,生活不會太難,而反映到程式是,在程式里最重要,最關鍵是處理類與類之間的關係,處理不好類與類之間的關係,到後期,一個項目將會分崩離析。在程式中有個分析關註點思想,也就是MVC思想。其實在現實生活早有體現,不能這麼說,感覺程式脫離了現實,應該是現實早有體現,程式將其抽象出來,起了個名字叫MVC。舉個例子,比如說一個公司,從上至下,總裁,經理,項目經理,程式員。比如總裁想要做一款APP了,他只會對經理說,去,我要個APP,他不會管你咋做,他只要結果。經理對項目經理說,去,我要做個APP,項目經理負責進度,讓程式員做個APP。這是真實生活,其實程式世界也是如此,這才是真正的面向對象思想。現在說程式,比如,老師有個完成一項很複雜功能的題,我全部寫到一個main()函數中去了,這是其實就是面向過程思想。而我們需要建一些類來協同完成這些工作,但是類建哪些呢,我不清楚啊,這就是真正的面向對象編程,這是真正提升水平的一個點。只有思想層次的提高,才是升華。
說到底,面向對象編程就是處理類與類之間的關係。
語言
說到程式,不得不說一說,程式設計語言,我不清楚語言在大家心裡什麼地位,反正你如果經常看博客啦,就會看出幾大派系之爭,這裡僅限於服務端語言,其它我也不懂,.NET PHP Java Node.js Python,每大派系都說自己是最好的語言,尤其是PHP,不清楚為啥,每次網上搜資料時,下麵總有幾個評論,PHP是世界上最好的語言,也是讓我很無語。拿出個有意思的事和大家分享一下,我當初學C#的時候,看到C#已死等等各種批評C#的文章,嚇得我不清,當時一度想學安卓去,後來我學PHP的時候,又看到了一下PHP只能做些小項目,掙不了大錢的文章。到現在學習Java,博客也有一些說Java存在這麼多年,已經老舊了,遲早會被Python Node.js取代,幸虧我承受能力強,要不然這樣也頂不住啊。好了,說了這麼多,我對語言的看法是工具。既然是工具,就有它最適合的方面。只有在最合適的方面使用工具,工具才是最完美的。反映到現實世界是,一群開車上班的人,說,看,轎車是世界上最棒的工具,而另一群飛行員說,看,飛機是世界上最棒的工具。語言本來不比爭來爭去的,在最適合的地方使用它,那它就是最好的語言。
說到底,語言這玩意就是個工具而已,在最適合的地方使用它就好了。
架構師
在程式世界中,有個稱謂讓所有程式員心儀神往,那就是架構師,一個程式世界中的老大,掌握著一個程式世界中所有對象的生殺大權。而普通程式員則在他定義的規則下,補充著這個世界。所以,下麵我要說的是,架構師和普通程式員。拿我自身舉例子,我曾經做.NET PHP項目的時候,就是我老師,他當然是架構師啦,我,普通程式員,這麼說,這個項目離了我照樣如期進行,而這個項目離了我老師,就是架構師就會崩潰。這就是兩者的區別。不知道大家聽過一句話沒有,那就是開發者做項目幾年之後就是架構師了,我只想說去他媽媽的(此處禁言),普通程式員一直在架構師的框架下工作,面向對象思想根本建立不起來,除非你主動學習框架,嘗試打破這個架構師建立的規則,否則你會一直在這個規則下生存,做著70%的工作,拿著30%的工資。普通程式員其實一直鍛煉的是面向過程思想,在架構師定義好的對象世界中,工作,這就是普通程式員為啥成不了架構師,因為他沒有架構師的面向對象的思想。這是根本原因。其實,面向對象思想沒那麼簡單。在我看來,架構師深度理解面向對象思想,而普通程式員深度理解面向過程思想,就這樣。
我希望有一天自己不再是別人框架下的補充者,有一天自己成為一個獨當一面的架構師,自己定義這個世界的規則。
思想
因為對架構師的嚮往,對面向對象思想的嚮往,我一度認為面向過程是舊的思想,註定要被面向對象替代,我發現自己錯了,其實面向對象思想是對面向過程思想的補充,面向對象可離不開面向過程,面向過程可以離開面向對象。當前主流的思想有,面向過程思想,面向對象思想,面向方面思想。多層次看程式世界,最底層其實還是面向過程編程,從這個點處理到另一個點,現實生活做事情也是有個順序的。其次就是面向對象思想,考慮的層次更高級一些。而發現有一些面向對象無法處理的事情,比如許可權驗證,日誌管理,所以又出來了面向方面思想。
而我理解的思想體系是,面向對象思想是對面向過程思想的補充,面向方面思想是對面向對象思想的補充,就這樣。
PS:
1 吝嗇定律:當一件事你發現它的本質(即最少),那就能發揮它最大的作用。
2 欲戴王冠,必承其重。
2016-08-28 12:24:46
一個欲戴王冠的人