思考方式

zhengguo07q發表於2008-08-16
前2天筆試一個大公司,20多個人筆試拿了差不多第一(比較難), 但面談結果很不理想,估計沒戲(學歷不行,而且談oracle我沒用過,儲存過程的時候太急,也沒想起來, 談設計模式他嗤之以鼻) 所以我把我的思維方式貼出來,看有誰能理解,也為後面的朋友提個思路。當然,計算機談的就是理解,個人有個人的方法,殊途同歸,能達到目的就行。

觀點:計算機程式設計應該是物件導向設計思想+設計模式+基於任務的思維模式。

重點:設計模式的思考應該是基於任務的。
設計:物件導向,設計模式方法。
思維:基於任務。

起因:這應該從計算機結構說起,計算機只能順序處理指令(別談什麼亂序執行),這誰都知道的,那麼,這樣,我們可以把所有的函式(方法)假想為一個指令,這樣,無論是什麼設計方式,都應該是以計算機執行方式為思維中心。計算機執行方式是基於演算法的,而演算法說到底,就是任務(這也就是我不認同banq老師不需要數學那些東西的理由之一,程式設計師需要邏輯思維~!)

詳細:所有的設計模式都是為特定例的任務而設計的(我這樣理解的),說到這可能很多人不信,因為最原始的設計模式教材上都沒這樣說(: 我拿我認為最簡單的模式來說,油漆工模式:它是基於單執行緒任務中多步任務設計的。最熟悉我們大家都熟悉的servlet中的filter 這就是一個標準。 還說一個工廠模式,工廠就是做生產的,當我們需要不同種類物件的時候它就可以發揮作用了。

作用:(簡單思考),一jni本地函式攜帶物品標籤號資料呼叫了一java中的服務方法,service根據步伐先後生成物件,然後呼叫持久或jdbc把datasource中的資源放入相關物件,然後呼叫相關的jni方法把物件中資料(價格等)傳回去。 假設:如果只有一種標籤資料型別我們可以直接使用這標籤資料,但如果這標籤資料太複雜需要分解,或者需要把這標籤在開始就進行分解進行相關物件生成。這時候就可以考慮油漆工模式了,這在以後引入了新的不相容標籤的時候擴充套件大有好處。

所以:一切應該都是圍繞著任務來說,無論是自底向上設計方法,物件導向設計方法,設計模式,這都是幫助程式設計師理解程式思路的東西。 只有任務需求的時候我們才應該採取他們其中的一中或多種。

對於框架來說:框架可以說都是經典的設計,一切都是理解相關事物的基礎上進行的,理解了事物,然後才能談得上框架的任務思路,有了任務思路,才可以進行精巧的設計。而設計模式讓我們可以方便的理解框架的原始碼和設計思想。

說了太多太雜了。如果有人認同的話,以後有空了我會把其他一些思考方式帖出來(比較的不好整理(:都是些思考的方式)。








另外請在廣東工作的老兄幫介紹下工作(專科學歷,有了大半年經驗)。
熟悉java程式設計,j2se的部分元件,物件導向程式設計技巧,熟悉UML部分圖,部分設計模式,對java技術有著比較整體的理解
頁面表現:熟悉jsp servlet jstl等技術,
框架:會struts1, ejb , ejb的persistence,另會單獨的hibernate持久, spring的ioc部分。
資料庫,會使用mysql資料庫
聯絡電話:13724807701

相關文章