文章列表

2020-06-29

重溫《深入淺出設計模式》裝飾者模式 (Book Review of Head First Design Pattern, Decorator Pattern)

以前第一次看到 Python 的 Decorator 時滿滿的黑人問號,後來有機會接觸裝飾者模式才豁然開朗,但也沒有深究,甚至沒有真的用過 Decorator。但最近重溫才發現其實裝飾者模式和 Python 的 Decorator 並不是完全的等號。Python 的 Decorator 更像是一種語法糖,利用 Python 函式 first class 的特性,能夠有更方便包裝函式的語法,可以為函式前後加入邏輯並且重利用程式碼。而要利用 Python 的 Decorator 也可以實踐 Decorator Pattern ,只是兩者並不是相等的,一個是語法模式,但背後有 Pattern 的精神;另一個則是 Pattern。

2020-06-29

重溫《深入淺出設計模式》觀察者模式 (Book Review of Head First Design Pattern, Observer Pattern)

設計模式不會讓直觀上開發速度變得更快,反而在開發時會需要夠多的時間進行思考,然後才動手。但它的效益應該是當要維護、要擴充時,才能夠體現的,因為有良好的設計模式,程式碼的架構是充滿彈性且易於回應需求的,相較快速完成的架構可能缺少擴充的彈性,在面對需求時只能砍掉重練,或者是提心吊膽的修改程式碼害怕牽一髮動全身。無疑地如果在有需求變動的情境,使用設計模式先苦後甘是最好的選擇。

2020-06-28

重溫《深入淺出設計模式》策略模式 (Book Review of Head First Design Pattern, Strategy Pattern)

設計模式是很需要開發經驗來輔助學習的,一兩年前就曾經翻閱過這本書,只是當時對物件導向的體會仍是懵懂,而僅有物件導向的知識也無法自然的學會設計模式的使用,因為設計模式需要程式開發的經驗累積,在開發中必須實際使用物件導向,同時需要對話、討論,並且實際體驗過擴充、維護的痛楚,才能歸結出設計模式。而直接學習設計模式儼然就是快速增長物件導向的設計功力,但也因為缺少了實際感受到設計模式美好的過程,所以學習容易流於浮光掠影的記憶。 這次的學習除了閱讀本身,更強調實作,除了重新詮釋閱讀素材的案例並改寫成 C# Code外,也將模式前後的差別書寫成部落格,期待讓學習更深植腦中,能夠設計模式真正的成為自己的一部分。

2020-06-25

Course Review - C# Intermediate Classes, Interfaces and OOP

五月的時候趁著 300 元特價的時候一口氣買了十門課程,這段期間各課程都散亂的看了一點,尚未完成任何一門課程。而上週開始一點一滴的看,默默就把這門課程看完了,過程中刷新了自己對於物件導向的觀念、各種修飾詞的實務使用時機以及開發操作上的技巧,總體而言獲益良多,也助燃提升學習 C# 的興趣。

2020-06-21

ASP.NET MVC 5 如何客製化驗證與授權並實作帳號登入機制 (How to custom ASP.NET MVC Auth Filters & Login / Logoff systems)

夏至的這天上午先去爬山,正午時分不一會就滿身大汗了,果然還是秋天的午後才是最適合的爬山時機。而最近寫程式的機會越來越多,不管是主管刻意的安排或者自己興趣的傾向,總之寫程式在工作中是越來越重要且主要的一部份了。自從有寫筆記的習慣之後,對於學習陳果可以被視覺化的呈現,同時也可以量化,這種看得見累積的感覺讓人更加有動力去學習。 最近深有所感,只有經驗過、練習過的才能真正在開發的時候發揮作用,並且沉入心流的開發體驗。驗證與授權一直是寫每個系統的起手式,特此跟隨一篇教學文章,並整理成筆記。