
Strategy Pattern
身為一位程式設計者,你是否曾面臨條件判斷式繁殖過盛的困擾?經常用折疊不完的 N 層 if-else 結構來考驗自己的腦力?或是只能瞪著超過 500 行的 switch-case 條件判斷式舉手投降?您的困擾我瞭解,請容許我向您引薦本篇文章的雙主打星——Strategy 與 State 範式,讓它們帶領我們一同邁向美妙動人的範式之道吧!
首先要瞭解的是,為什麼要將 Strategy 與 State 範式放在同一篇文章裡介紹?因為兩者雖然在設計層面的動機與出發點有所差異,但是在實際的應用面中非常地相近。根據《物件導向設計模式》(Design Patterns) 書中的定義,只要將右圖中的 Strategy、ConcreteStrategyA 與 ConcreteStrategyB 角色,更改為 State、ConcreteStateA 與 ConcreteStateB,就會變成 State 範式的結構圖,可以說兩者就像是孿生兄弟般密切相關。
如果真的要區分出 Strategy 與 State 範式之間的差異,可以參考《重構——向範式前進》中論述的內容:
State pattern 對「必須在一整族 state classes 的實體之間輕鬆轉換」的 class 有益,而 Strategy pattern 則是有助於讓 class 把演算法執行任務委託給「一整族 Strategy classes 的某一個實體」。
從我理解的角度來解釋,Strategy 範式比較著重於包裝相同派系的演算法,而 State 範式則特別注重在各狀態之間的轉換邏輯。所以只要瞭解 Strategy 或 State 範式兩者之一,就等於學會了兩種設計模式,真的是太划算太值得啦!雖然 Strategy 與 State 範式非常單純而且易於理解,但這兩項看似不起眼的小小範式,卻經常能夠在程式系統中發揮很好的應用效果,絕對是程式設計者不可不學的必備基礎知識。本文中將以 Strategy 範式為主,說明兩者在遊戲系統中的相關應用。
繼續閱讀 < < "Strategy & State:條件判斷式的消除者"

(圖片來源:www.freedigitalphotos.net)
原文出處:Opinion: Game Industry Interviewing 101
面試,幾乎是所有步入社會成為工作者的人都必須經歷的一道程序。在這篇文章裡,作者以自己的面試經驗做為出發點,不僅為遊戲業界的應試者提出許多有用的教戰守則,同時也為面試者提供一些頗有幫助的小訣竅。對於許多即將踏入職場的新鮮人,以及擔任主管職務的人來說,文章裡有許多看似平凡無奇卻非常實用有益的觀念與知識,可供身處職場的我們,做為參考與省思之用。
在此先對「應試者」與「面試者」做出明確的定義。應試者 (Interviewee),或者可以稱為「被面試者」,所指的就是應徵工作而接受面對面測試的職務候選人。而面試者 (Interviewer),所指的則是公司裡負責與應試者進行面試程序的人;在一般常見的情形中,通常會以應試部門的主管做為面試者。
當我們踏出校園生活,欲將自己的身份由學生轉換成為社會新鮮人時,為了尋找合適又滿意的工作,面試可說是一條必經的途徑。而如果來到面試程序,表示我們已經通過了檢驗履歷表的第一道關卡,但最終是否能夠獲得工作機會,決勝關鍵仍必須取決於面試過程中的表現。因此,對於社會新鮮人來說,面試可說是一件令人又愛又恨的事情。
另一方面,若以公司經營者或身為主管的角度而言,也絕對不可以輕忽各項面試的相關程序——因為不論你是否能夠接受,面試程序都會對公司的風評產生非常深遠的影響。身為面試者,你所代表的角色就是公司形象,你的一言一行都會傳達出公司本身的文化氣息。請記得,當你在面試候選者的時候,候選者也同樣在面試你的公司。即使在面試的過程中,你發現應試者並不合於你的徵才條件,仍然應該展現出良好的應對態度,才是恰當的作為。
首先,讓我們瞧瞧應試者與面試者雙方所追尋的目標為何。從面試者的觀點來看,他們想要的是:
- 充分判別應試者的技能。期望候選者至少具有不錯的能力,最好能夠達到非常優秀的程度。
- 確認應試者能夠良好地適應於公司的團隊。
- 盡可能付出較少的薪水。
至於應試者關心的事物則有些不同。理想中,他們想要的是:
- 好薪資,好待遇。
- 令人愉快且充滿挑戰性的工作。
- 工作的安全感。
- 成長與晉升的機會。
繼續閱讀 < < "《Game Industry Interviewing 101》:給遊戲業面試者與應試者的教戰守則"

心態致勝
書名:心態致勝 (Mindset: The New Psychology of Success)
作者:Carol S. Dweck
譯者:李明
出版:大塊文化
語言:英文版/繁體中文版
這是一本書皮封面平凡無奇的書籍,即使將它擺放在書店中最顯眼的位置,我也不會多看它一眼;就算碰巧拿到了手中,概略翻上幾頁,可能我也只會覺得:「這大概又是本充斥著說教口調的實驗研究報告,或者是如同書名般枯燥乏味的心理勵志書籍。」但沒想到,這小小的一本書,卻越讀越有滋味,越讀越令我拍案叫絕。
本書作者 Dweck 女士,是目前任職於史丹佛大學心理學系的教授。在書籍的內容中,作者不僅提出了「定型心態」與「成長心態」兩種心理狀態的明確定義以及兩者的各種顯著差異,更將這套理論應用在運動選手成就、企業經營與領導、兩性情感議題,以及父母師長的教育等許多不同的領域中,全都獲得了相當正面而良好的成效與回應。
書裡沒有什麼世界七大不可思議的必勝成功法則,也沒有如暢銷書口吻般自吹自擂的致富手段。相反地,其中涵蓋了許多客觀的研究結果以及測試受驗者的心得回應,充分佐證成長心態理論的實用性。作者並沒有搬出教條式的守則來推銷她的理論與著作,而是平鋪直述地帶領讀者在各種不同領域中,探討成長心態與定型心態對於為人處事、應對進退的決定性差異與影響。最後,則讓讀者依循自己內心的判斷,做出最合適的選擇與改變。
做為書名的主標題,所謂的「心態」(Mindset) 到底是什麼東西?人類的心態,並不會以個別獨立的形式存在,而總是由一組完整的思想所交織構築起來的知識網絡,所以心態可以說是「一組心裡的想法」(A set of mind) ,因而簡稱為 Mindset 這個詞彙。有人會將心態稱之為「態度」、「思維」或者「價值觀」,其實都是彼此相關而且可以互補的用語。
心態,就像是一組解釋世界萬物的框架,幫助我們認知周遭所發生的各種事情。因為心態的存在,我們熟習身邊的各種人事物,不至於每天陷於兵荒馬亂的生活之中;因為心態的存在,我們都能逐漸適應自己的家庭、朋友、工作以及伴侶;因為心態的存在,我們也因此得以成為現在的自己。假設我們改變了這組既存的框架,是不是就能夠改變眼前的世界?
繼續閱讀 < < "《心態致勝》:改變心態,改變你的世界!"