2010-02-09 17 views
2

Je dois développer un certain module sw qui transmet les données dans le format suivant Objet principal et objet associé et la quantitéaide de conception de classe nécessaire

-à-dire

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

Cela signifie que pour un ordinateur de bureau objet, il doit y avoir 1 CPU, 1 souris, 1 clavier, 1 moniteur, 2 haut-parleurs

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) 

de même pour chaque objet Cubicle, il doit y avoir 4 bureaux et 1 objet alimentation

Règle: Pour tous les 4 cabines il est un objet un 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 

Quelqu'un peut-il me aider à réaliser les mêmes en termes de classes POO/interfaces? Ou un pointeur vers un modèle de conception à utiliser dans de telles situations. apprécie profondément votre temps pour la même

Répondre

1

Bien que je ne suis pas un expert mais au-dessous est ce que vous pouvez faire: -

vous pouvez créer deux ordinateurs de classe et cube et vous classe d'ordinateur peut surveiller dire le nombre de ressources deux moniteurs connectés à une CPU ou quatre haut-parleurs attachés.

vous pouvez surveiller le nombre de ressources en ajoutant ou en mettant à jour compte sur ajouter ou mettre à jour . Cela vous permettra de surveiller les ressources individuelles pour l'ordinateur et le compartiment. Votre classe d'ordinateur et de cube implémente une interface IDisplayCount qui liste toutes les ressources dont ils disposent, c'est un modèle de stratégie.

Vous pouvez surveiller la liste des cellules en suivant le mélange du décorateur et du modèle d'usine. décorateur pour garder trace et usine pour s'assurer que toutes les instances (mises à jour ou ajoutées) sont ajoutées à la liste qui garde la trace des ressources en créant une instance ou une mise à jour à partir du même endroit.

Le nombre de concentrateurs peut être surveillé à partir de votre classe de cubiles.

Espérons que cela aide.

1

Créer une classe pour chaque nom vous avez. Chaque classe peut avoir une liste d'éléments qu'elle contient (object-x has-a object-y). Pour chaque classe, créez une méthode toString() qui affiche les éléments qu'elle contient de manière correctement formatée.

0

Il semble que vous ayez déjà effectué la plupart des travaux de conception. La conception UML/Class suit de très près ce que vous avez déjà écrit. Un point de départ pourrait ressembler à: alt text http://img6.imageshack.us/img6/9232/cubicle.png

De là, continuez avec le contour que vous avez commencé et laissez le design de la classe suivre. Vous pourriez envisager de faire d'autres abstractions comme IComputer que DesktopComputer implémenterait afin que vous puissiez échanger, disons, un objet LaptopComputer pour un bureau. Quoi que votre domaine vous suggère, suivez-le.