黑馬程式設計師 銀行業務排程管理系統

2021-06-21 00:31:08 字數 3250 閱讀 5699

---------------------- 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.非同步隨機生成各種型別的客戶,生成各...

銀行業務排程系統

今天看了張老師的銀行業務排程系統,還是感覺不可思議。開始看專案需求時感覺這裡邊的業務邏輯太複雜。沒想到還是被張老師寫了個把小時的 給搞定。雖然看完之後腦海中對於程式執行過程有些模糊,但起碼現在努力努力寫出個類似的程式不是天方夜談。張老師分析專案的時候,又通過物件導向的思想結合專案分析了下。不禁又想感...