2014年8月24日 星期日

學習的歷程

對我來說,雖然從學生的身分畢業也三年了,但是學習這件事算是個終身事業吧,也是讓人視野提升的一個方法,一直到近年來才可以體會學習歷程從我自身上的昇華,心境上也從一個青澀的小男孩變成社會人士,這樣的可以分為五個階段:

2014年8月5日 星期二

年化報酬率的意義

記得在大學的時候上了財務相關的課程,老師教到了計算報酬率的時候只是草草提到計算報酬率要使用幾何平均數,也沒有說明原因。那時候的我見識淺薄,想破頭也不知道為什麼要用什麼幾何平均數來算報酬率,不就用簡單又容易了解的算術平均數來算就可以了嗎?

舉例來說,如果我買了一張宏碁的股票市價25$元,所以我的成本為1000(股)*25$ = 25000元。總共兩萬五千元(這裡省略手續費)。那麼我投資了過三年過後,股價漲到30$元,所以我的股票價值1000(股)*30$= 30000元。


抽象工廠模式(Abstract Factory)

  • 抽象工廠特性:
    • 意義在於在工廠內,把產品抽象出來,交由實體工廠生產,產品可以由不同元件(object)所合成,客製化生產不同類別的產品,讓各個實體工廠可以去實作實際的生產細節
    • 應用的OO精神 :多用合成(Composition),少用繼承(Inheritance)
    • 這邊合成的意思是於Client端只會應用interface(例如:AbstractFactory)來生產各種產品,而不需要明白指定是哪種實體的產品(concrete product),也不需要知道AbstractFactory會怎麼合成產品的細節,AbstractFactory會封裝工廠的產品生產過程,Client 端只需要會使用抽象工廠即可,不需要去明白工廠製作細節
    • 網路上各種例子表示抽像工廠和工廠方法的界定十分模糊,這裡的Abstract Factory的"Abstract"只是一個觀念,並非一定要用Java 或C#語言中的Abstract Class 修飾詞(modifier),有時候可以用Interface來實作,有時候會使用Abstract,因此符合上述概念,抽象工廠模式有相當大的實作彈性

在多層巢狀Container控制項的結構中無法正確resize

  • 如果設計的WinForm包含多層container的結構(例如: 一個tab container裡面加了另一個tab container, 然後裡面又包含其他panels等等...),有可能在resize 這個WinForm的同時造成畫面縮放混亂(例如:無法正確執行Panel的Anchor、Dock行為,或者是畫面字體縮成一團等問題),這是一個windows的bug,當container再resize的當下如果本機資源不足或者Kernel的stack空間資源用完才會造成的問題,因此不一定每次都會發生。

image

  • 解決方法:再Parent container或是WinForm要複寫 base.OnSizeChanged()方法去正確的顯示縮小放大,如圖下:

clip_image001