---------------------- asp.net+unity開發、.net培訓、期待與您交流! ----------------------
當面對乙個不太順手的程式的時候,先不要關心**,寫寫自己的頭腦中的思維,怎麼想就怎麼寫,寫著寫著突然就變亮了。
通過一段時間
銀行業務排程,根據需求做出如下銀行業務運轉關係圖:
物件導向分析:
設計源於生活,首先先從我們一次去銀行辦理業務談起,我們是怎樣完成一次業務辦理的呢?首先我們來到銀行是取號排隊,然後就是等待視窗叫號,叫到號後辦理完業務,整個業務就完了
從程式設計分析對程式的實現:
取號器:我們的業務型別有三種業務,那麼號碼就分為三種號碼,設定乙個取號的類負責完成取號操作
號碼管理器:取號器裡面的號碼是怎麼產生的呢?號碼就是由號碼管理器產生的,有三種號碼,但僅有乙個號碼管理器,為了讓號碼管理器的物件唯一,那麼號碼管理類就需要採用單列設計模式來完成
業務視窗:業務視窗分為普通視窗、快速視窗、vip視窗,這些視窗由視窗類來實現,對於視窗在辦理業務的時候都要叫號,對於號碼事件,號碼資料都存在號碼管理器中,視窗需要從號碼管理器中獲得號碼資料
具體**實現:
號碼的產生,號碼管理器類:
public class numbermachine
private static numbermachine instance = new numbermachine();
public static numbermachine getinstance()
//三種號碼的產生
private numbermanager commonmanager = new numbermanager();
private numbermanager expressmanager = new numbermanager();
private numbermanager vipmanager = new numbermanager();
//定義方法返回號碼
public numbermanager getcommonmanager()
public numbermanager getexpressmanager()
public numbermanager getvipmanager()
}
使用者進入銀行號碼的獲取,取號類:
public class numbermanager
public synchronized integer fetchnumber()else
}}
視窗的產生視窗類:
public enum customertype
return name;
}}
視窗進行有序工作的視窗功能實現類:
沒有把vip視窗和快速視窗做成子類,是因為實際業務中的普通視窗可以隨時被設定為vip視窗和快速視窗。
為了然**數量少一點,便於閱讀將張老師的提供的****中一些列印語句省略
public class servicewindow
public void settype(customertype type)
public void setnumber(int number)
public void start()}}
}); }
private void commonservice() catch (interruptedexception e)
}else catch (interruptedexception e)
} }private void expressservice() catch (interruptedexception e)
}else }
private void vipservice() catch (interruptedexception e)
}else
}}
常量放置的類:
public class constants
**執行的主類:
public class mainclass
//產生1個快速視窗
servicewindow expresswindow = new servicewindow();
expresswindow.settype(customertype.express);
expresswindow.start();
//產生1個vip視窗
servicewindow vipwindow = new servicewindow();
vipwindow.settype(customertype.vip);
vipwindow.start();
//普通客戶拿號
executors.newscheduledthreadpool(1).scheduleatfixedrate(
new runnable()
},0,
constants.common_customer_interval_time,
timeunit.seconds);
//快速客戶拿號
executors.newscheduledthreadpool(1).scheduleatfixedrate(
new runnable()
},0,
constants.common_customer_interval_time * 2,
timeunit.seconds);
//vip客戶拿號
executors.newscheduledthreadpool(1).scheduleatfixedrate(
new runnable()
},0,
constants.common_customer_interval_time * 6,
timeunit.seconds);
}}
---------------------- asp.net+unity開發、.net培訓、期待與您交流! ---------------------- 黑馬程式設計師 銀行業務排程系統
銀行排程管理系統 以下是張孝祥老師的銀行排程系統,學習了此專案,我受益匪淺,有很多知識是平常很少接觸的,在專案中能學到的,是你平常找不到的知識點,希望瀏覽此部落格的遊客,認真學習裡面的知識點,多數 本人都有注釋,學起來很輕鬆 1.建立使用者服務視窗 package com.csdn.intervie...
銀行業務排程系統
一 銀行業務排程系統 一 需求 模擬實現銀行業務排程系統邏輯,具體需求如下 1.銀行內有6個業務視窗,1 4號視窗為普通視窗,5號視窗為快速視窗,6號視窗為vip視窗。2.有三種對應型別的客戶 vip客戶,普通客戶,快速客戶 辦理如交水電費 費之類業務的客戶 3.非同步隨機生成各種型別的客戶,生成各...
銀行業務排程系統
今天看了張老師的銀行業務排程系統,還是感覺不可思議。開始看專案需求時感覺這裡邊的業務邏輯太複雜。沒想到還是被張老師寫了個把小時的 給搞定。雖然看完之後腦海中對於程式執行過程有些模糊,但起碼現在努力努力寫出個類似的程式不是天方夜談。張老師分析專案的時候,又通過物件導向的思想結合專案分析了下。不禁又想感...