個人寫程式只有兩條大守則
第一條:比起效能我更在乎易維護
第二條:絕對不要違反第一條
範例:
有時候剋扈或牢版不希望網站上的圖片實體路徑被裸體公開
因為實體路徑被知道了就會被任意玩弄
想想我們的老朋友 泛型處裡常式
利用它可以搞些卑鄙手段防止被玩弄
例如檢查 登入 Session 之類的東東 確認 某些狀態
若是非登入狀態 將無法取得圖片
這裡沒搞什麼手段 就只是很簡單的藉由讀取路徑再 Response.BinaryWrite 輸出 圖片
圖片路徑就變成這樣 看不出原始路徑
http://localhost:4024/getImage.ashx?name=smile.jpg&type=Jpeg
但是上面說的東東跟這篇的主題沒啥關係 ._.
重點在於這裡為了將圖片轉成 byte[] 用到了一個 ImageFormat
裡面長這樣 用來告知圖片是何種類型
為了支援所有類型 不知不覺它就變成這樣
這樣寫有錯嗎? 當然沒錯 但是不夠優雅呀
打 GAME 要風騷走位優雅輸出 打CODE 也一樣
反射吧!男孩 請回想程式守則第一條
雖然我(有可能)犧牲了效能 但是程式碼變得更簡潔了
而且若是日後 ImageFormat 有任何屬性(Property)增減異動 我也不需要修改程式碼
P.S. 為了寫那個 switch 複製貼上手很酸 -.-
沒有留言:
張貼留言