设计一个医院
源于個(gè)人網(wǎng)站:http://programmer.2008red.com/programmer/article_647_777_1.shtml
?
?
收到一封來自Exoweb的郵件,讓去面試(敗的很慘,呵呵。過了好長(zhǎng)時(shí)間了,都忘記這事了,結(jié)果這公司來了郵件,說不能提供給我職位,還安慰我。不過就不過是了,弄這些做什么,害我出了一肚子火),就查了查這個(gè)公司。以前去面試過的前輩提到了他們會(huì)讓我們?cè)O(shè)計(jì)醫(yī)院,學(xué)校之類的東東,覺得應(yīng)該先自己嘗試做一下,就做了!
?
?
?病人Patient分別在各個(gè)部門掛號(hào),交費(fèi),然后檢查身體,具體的動(dòng)作由各個(gè)部門去做(operation)。
?病人與部門分開,使用組合/聚合關(guān)系,個(gè)人覺得有點(diǎn)橋梁模式的意思!
假如將來醫(yī)院增加新的部門,只要在Patient和Department下增加單層的子類就可以了。
?
具體代碼:
| using System; namespace Hospital
??????? public string Name ???????????? ??? class Register:Patient ??? class Payer:Patient ??? class Inspector:Patient ??? interface Department
??????? public Registe(Patient register) ??????? public void Operation() ??? class Pay:Department ??????? public Pay(Patient payer) ??????? public void Operation() ??? class Inspecte:Department ??????? public Inspecte(Patient inspector) ??????? public Patient Patients ??????? public void Operation() ? ??? class Treatment ??????? public void run() ??? class Program ??????????? string name = "zhong"; ??????????? Console.ReadLine(); |
掛號(hào),交費(fèi),檢查可以設(shè)置成一個(gè)觀察者模式,在C#里當(dāng)然是用委托來做最好了。
還可以設(shè)置很多病人,排隊(duì)來看病。這可以用一個(gè)Arraylist或哈希表來存儲(chǔ)各個(gè)病人的信息,用循環(huán)輸出。
由于這是我寫的第一個(gè)有關(guān)模式的文章,時(shí)間上也有點(diǎn)緊,不但上面的想法沒去實(shí)現(xiàn),可能還有一些我不
知道的錯(cuò)誤缺點(diǎn)列在其中,希望大家原諒并指正。
?
希望自己能盡快實(shí)現(xiàn)這些沒完成的想法。
?
和宿舍的人出去吃了個(gè)飯,今天端午,呵呵,晚上十二點(diǎn)回到宿舍后一點(diǎn)也不想睡,又開始寫了起來,呵呵!
下面為用一個(gè)ArrayList記錄病人的修改。
| ? ?{ ?? *** ?class Treatment ??????? public void show(string name)
??????? public void remove(string name) ??????? public void run() ??? class Program ??????????? string name = "zhong";?????? ??????????? Console.ReadLine(); } |
這塊是使用委托處理的程序:
?
| ? { ? *** ?class Subject ??????? public void remove(UpdateDelegate ud) ??????? public void run() ??? class Treatment ??????? public Treatment(string name) ??????? public void show() ??? class Program ??????????? Subject sj = new Subject(); } |
?
?
分別實(shí)現(xiàn)了ArrayList和委托來處理多人的情況。也算是運(yùn)用了觀察者模式了。
轉(zhuǎn)載于:https://www.cnblogs.com/sqlite3/archive/2009/06/06/2566671.html
總結(jié)
- 上一篇: 《夜听妓诗》第八句是什么
- 下一篇: 海月大招如何使用让敌方无法躲