2010-02-09 92 views
2

我需要制定一定的SW模塊,輸出的格式如下主要對象和相關的對象和數量的數據一流的設計需要幫助

Desktop Computer 
---- CPU 1x 
---- Mouse 1x 
---- KB 1x 
---- Monitor 1x 
---- Speakers 2x 

這將意味着,對於臺式計算機對象,應當有1個CPU,1鼠標,鍵盤1,1個監視器,2個揚聲器

Cubicles 
---------- Desktop Comps  4x (shall mean each cubicle shall contain 4 pc's) 
---------- Power Supply   1x (shall mean each cubicle shall have a main pow. 
supply) 

類似地,對於每個櫃目的,應爲4臺臺式機和1個電源對象

規則:每4個櫃必有一個HUB對象

The sample Output for 8 cubicles shall be 

    Total CPU's - 32 
    HUB   - 2 
    Mouse  - 32 
    KB   - 32    
    Monitor  - 32   
    Speakers  - 64 
    Cubicles  - 8 
    Desktop PC's - 32 
    Pow. Supply - 8 

誰能幫我在的OOP類/接口方面實現一樣嗎?或者在這種情況下使用設計模式的指針。 深深地體會到時間對同一

回答

1

雖然我不是專家,但下面是你可以做什麼: -

您可以創建兩個一流的計算機和立方體和您的計算機類可以監控資源的數量說兩個顯示器連接到CPU或四個揚聲器。

您可以通過添加或更新添加或更新計數來監視資源數量 。這將允許您監視計算機和隔間的單個資源。

您的計算機和cube類實現了一個接口IDisplayCount,它將列出它們擁有的所有資源,這是策略模式。

您可以通過以下混合的裝飾器和工廠模式來監視隔間的列表。裝飾者保持跟蹤和工廠,以確保每個實例(更新或添加)被添加到通過創建實例或從同一地點更新來跟蹤資源的列表。

集線器的數量可以根據您的cubiles數量來監控。

希望這會有所幫助。

1

爲每個創建一個類名詞你有。每個類可以有一個它包含的元素列表(object-x has-a object-y)。對於每個班級,創建一個toString()方法,以正確格式化的方式輸出其包含的元素。

0

看來你已經完成了大部分設計工作。 UML/Class的設計與你已經寫的很接近。起點可能如下所示:alt text http://img6.imageshack.us/img6/9232/cubicle.png

從這裏開始,繼續您已經開始的大綱並讓課程設計如下。您可能會考慮製作一些更進一步的抽象,例如DesktopComputer將實施的IComputer,以便您可以換出桌面的LaptopComputer對象。無論您的域名建議您需要什麼,請遵循。