程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#設計模式之抽象工廠模式新解(2)

C#設計模式之抽象工廠模式新解(2)

編輯:關於C語言

抽象工廠之新解

虛擬案例

中國企業需要一項簡單的財務計算:每月月底,財務人員要計算員工的工資。

員工的工資 = (基本工資 + 獎金 - 個人所得稅)。這是一個放之四海皆准的運算法則。

為了簡化系統,我們假設員工基本工資總是4000美金。

中國企業獎金和個人所得稅的計算規則是:

獎金 = 基本工資(4000) * 10%

個人所得稅 = (基本工資 + 獎金) * 40%

我們現在要為此構建一個軟件系統(代號叫Softo),滿足中國企業的需求。

案例分析

獎金(Bonus)、個人所得稅(Tax)的計算是Softo系統的業務規則(Service)。

工資的計算(Calculator)則調用業務規則(Service)來計算員工的實際工資。

工資的計算作為業務規則的前端(或者客戶端ClIEnt)將提供給最終使用該系統的用戶(財務人員)使用。

針對中國企業為系統建模

根據上面的分析,為Softo系統建模如下:

則業務規則Service類的代碼如下:

1using System;
2
3namespace ChineseSalary
4{
5 /**//// <summary>
6 /// 公用的常量
7 /// </summary>
8 public class Constant
9 {
10 public static double BASE_SALARY = 4000;
11 }
12}
1using System;
2
3namespace ChineseSalary
4{
5 /**//// <summary>
6 /// 計算中國個人獎金
7 /// </summary>
8 public class ChineseBonus
9 {
10 public double Calculate()
11 {
12 return Constant.BASE_SALARY * 0.1;
13 }
14 }
15}
16

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved