iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 9
1
Software Development

軟體工程x管理學系列 第 9

Day 9 公司裡的單例模式

  • 分享至 

  • xImage
  •  

嗨~歡迎各位聽眾收聽工程師裡最嘴砲的Podcast節目「軟體隨便講」,我是主持人小笠宏樹~

今天來首經典
羅大佑 現象七十二變
Yes

在公司裡面其實也會常看到單例模式的
通常單例模式都是用在很多地方會共用的資源上,這樣就不用到處都創一個出來~
說到這大家應該很容易猜出來了,沒錯,就是公司裡面的人資部門、財務部門、MIS部門等等。
以下我們就來說說這些部門的特性,以及會出現什麼樣的現實情況。

  1. 單例部門都會掌握著公司的某些資源,比如人力資源、預算、電腦資源

    • 這個跟單例模式常用到的地方也類似,通常是用在資料的存取跟暫存庫。
    • 還有一個好處是,既然資源是共享的,那就可以盡量的在分配資源上最大化。
    • 更進階來說,有時候我們會將少部分的資源存在所需的部門裡面,等到資源不夠用了或資料過期了再跟單例的部門拿,比如:在部門裡面會先存一些暫時的預算在大部門裡面的行政單位,等到需要大筆的預算或是特殊的預算時,才請大部門裡面的行政單位去跟財務部門申請。這個行為大概跟我們會在local Class先從單例Class抓一次資料下來,等到資料不夠用或是過期了再去跟單例抓一次。
  2. 單例部門因為要服務全公司,因此大多都會有排程的需求

    • 通常我們也最常在單例裡面處理到資源的共享導致的異步問題,因此我們時常會在這邊加上許多平行化處理或是同步鎖的操作,排程管理的問題通常也在這邊解決。
    • 在第一點中提到的暫存在各部門的資源,有某部分也是為了簡化這種排程的問題,讓大家不要一直跟單例排隊拿資源,能一次拿完就解決最好。
  3. 單例部門由於掌握著資源,因此雖然不一定在部門的階層上,但通常地位會處於階層的上端,比如僅次於董事長室之類的。

    • 通常對於公司來講,這邊會是牽一髮動全身重要單位。
    • 由於地位特殊,通常是最後才被裁員的部門。
    • 常見到假如董事長的兒子要接班時,他通常會在公司裡面來一場部門巡禮,這時候他通常會巡禮的部門必定會包含單例部門,比如人資、會計、總務等等。同理也可以推論,假如一個工程師剛加入團隊,他可以從管理資料的單例Class來快速的了解程式架構與功能。

好了,今天介紹了公司的單例模式,其實單例還有各式各樣的使用方式以及優缺點,各位讀者其實也可以把在公司遇到單例的部門遇到的問題轉化成寫程式時要注意的事項來當參考喔!

明天我們會是個上下兩集的系列文,當公司遇到新市場新產品時面對的問題~敬請期待


上一篇
Day 8 SOP的好與壞
下一篇
Day 10 新市場新事業新(災難?)氣象 vol.1
系列文
軟體工程x管理學30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言