2012-03-05 134 views
3

我會在應用程序的上下文中提出問題,但我認爲它的配置範圍通常較寬。我的應用程序允許公司跟蹤員工的缺勤和假期。其中一個好處是,它會根據僱主制定的規則自動增加一個人的假期權利。其目的是讓公司在以下幾種情況中選擇:A)自動增加僱員的權利,例如每年設定一定的天數,例如,每年1月1日,假期權利增加1天;或處理應用程序配置的最佳做法是什麼?

B)僱員的權利根據服務的長度而增加,例如,經過2年的工作後,權利會增加2天

實現此功能的最佳方法是什麼?第一個選項非常簡單,因爲我已經跟蹤每個休假年的開始/結束日期,並且每個員工的增量可以存儲爲整數。

我想我正在尋找最佳實踐解決方案來存儲所選擇的方法;如何以可擴展格式存儲相關選項和所有選項,以便我稍後添加更多方法。

我正在使用Ruby on Rails,但問題可能與其他語言有關。

感謝

羅賓

+0

僱主是否可以爲不同的員工設置不同的規則?或者這只是每個人不時變化的一條規則? – Ashitaka 2012-03-06 11:55:53

+0

我想說一個適用於所有員工的規則。每個員工的不同規則是我不想處理的邊緣案例。 – 2012-03-06 12:36:05

回答

0

什麼:儲存在員工的平衡。員工屬於公司。在時機成熟時,通過使用類似

self.company.set_balance(self.balance) 

設定的平衡,使你的員工評估員運行在所有的員工,並要求該公司重新計算其資產負債。

如果這是一項全球性政策,那麼您不需要告訴公司員工是誰,但是如果您需要特殊情況,可以將員工傳遞給set_balance方法,以便獲得更多有關該員工正在重新計算。

至於Compay的如何增加日子的策略,我把它放在一個模型中,以限制如果策略改變時所需的代碼更改。

如果它是一個簡單的規則,也許只是把它放在一個鍵/值對:

「holiday_entitlement」 /「平」 或 「holiday_entitlement」/

我會「工齡」不要在數據庫中保留值(1或2),以避免聰明員工入侵數據庫並在其中放入'有利'值:)

相關問題