邏輯運算我們平時都用得多,但位元運算似乎就顯少使用。
其實位元運算在程式設計中扮演著非常重要的角色,他不僅可以讓程式更簡潔,效能也比較好呢!
設計模式 - 代理模式 x 快取 x Metaprogramming
當我們想為某個 Class 裡 Method 的執行結果加上快取,直覺就會聯想到 - 代理模式。
但如果 Method 一多,代理層寫起來就會又臭又長,一大堆重覆的東西,想到就累了。
那我們有沒有什麼辦法可以簡化代理層,讓開發更省力呢?當然有!那就是 Metaprogramming。
為什麼需要 SSR(Server Side Render)
在以前沒有 SPA(Single Page Application,前後端分離)架構的時代,畫面都是在 Server 端就已經 Render 好,然後才傳送到前端的,也就是說,使用者(機器人)在拿到畫面的時候,就已經是完整的資料了。
若使用了 SPA 的架構,Server 端將不再 Render 畫面,只處理資料的部份,但畫面總要有人 Render,使用者才有東西看,也就是說,Render 畫面的重責大任就交到前端手上了,也就是我們常說的 CSR(Client Side Render)。
因此,當使用了 SPA 的架構,機器人在逛網站的時候就拿不到完整的網站了(因為 Server 端不再 Render 畫面),也就是說機器人看到的網頁只是空白一片,沒有任何內容,此時 SEO 便出現了巨大的問題。
那 SEO 的問題該怎麼辦呢?難到要放棄 SPA,技術退回 10 年前嗎?當然不是!
設計模式 - 偷懶工廠模式
工廠模式我想大家一定不陌生,但偷懶工廠又是什麼呢?
我們會想要用工廠模式,基本上就是為了要解耦合,但付出的代價似乎不小,不僅造成日後擴充的問題,還大大增加了程式複雜度。
那我們有沒有什麼辦法可以用工廠模式來解耦合,同時又可以擴充容易,也不會讓程式複雜度增加太多呢?
這時偷懶工廠模式就登埸了!