IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

quelques conseils pour projetc mvc


Sujet :

avec Java

  1. #1
    Membre régulier Avatar de pseudobidon57
    Inscrit en
    Octobre 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut quelques conseils pour projetc mvc
    Bonjour, je suis debutant en java, et je fais face a mon premier projet qui concerne un projet mvc, et j'ai d'enorme difficultes.. en fait je ne sais meme pas par ou commencer..il s'agit d'une petite application de simulation de systeme bancaire qui se compose du controleur que je ne doit pas modifier(teller.jar), j'ai acces a deux classe et une interface que voici:
    l'interface _BankManager
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    public interface _BankManager {
     
    	/**
             * Creates a new current account and then returns details to user
             * @param name
             * @param amount
             * @param overdraftLimit
             * @return The value object holding summary details for this account
             */
    	public BankAccountOutputVO createNewCurrentAccount(String name,
    			double amount, double overdraftLimit);
     
    	/**
             * 
             * @param name
             * @param amount
             * @return The value object holding summary details for this account
             */
    	public BankAccountOutputVO createNewSavingsAccount(String name,
    			double amount);
     
    	/**
             * 
             * @param accountNumber
             * @param amount
             * @return The value object holding summary details for this account
             */
    	public BankAccountOutputVO makeDeposit(String accountNumber, double amount);
     
    	/**
             * 
             * @param accountNumber
             * @param amount
             * @return The value object holding summary details for this account
             */
    	public BankAccountOutputVO makeWithdrawal(String accountNumber,
    			double amount);
     
    	/**
             * 
             * @return The list of all accounts currently held in the bank. This list  
             * must consist of objects of type BankAccountOutputVO. 
             */
    	public List listAllAccounts();
     
    	/**
             * 
             * @param accountNumber
             * @return The value object holding summary details for this account
             */
    	public BankAccountOutputVO ViewAccountSummary(String accountNumber);
     
    	/**
             * 
             * @param accountNumber
             * @return The value object holding summary details for this account
             */
    	public BankAccountOutputVO closeAcount(String accountNumber);
    }
    la classe BankAccountVO
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    package com.fdm.bank;
     
    /**
     * Immutable class that holds bank account data passed to the teller package.
     * 
      *
     */
    public final class BankAccountOutputVO
    {
    	private final String accountNumber;
    	private final String accountType;
    	private final String name;
    	private final String balance;
    	private final String overdraft;
    	private final boolean successfulTransaction;
     
    	public BankAccountOutputVO(String accountNumber, String accountType, String name, String overdraft, String balance, boolean successfulTransaction)
    	{
    		this.accountNumber = accountNumber;
    		this.accountType = accountType;
    		this.name = name;
    		this.overdraft = overdraft;
    		this.balance = balance;
    		this.successfulTransaction = successfulTransaction;
    	}
     
    	public boolean isSuccessfulTransaction()
    	{
    		return successfulTransaction;
    	}
     
    	public String getAccountNumber()
    	{
    		return accountNumber;
    	}
     
    	public String getBalance()
    	{
    		return balance;
    	}
     
    	public String getName()
    	{
    		return name;
    	}
     
    	public String getAccountType()
    	{
    		return accountType;
    	}
     
    	public String getOverdraft() 
    	{
    		return overdraft;
    	}
    }
    et enfin la classe BankAccountManager
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    package com.fdm.bank;
     
    import java.util.List;
     
     
    public class BankManager implements _BankManager
    {
     
    	public BankAccountOutputVO ViewAccountSummary(String accountNumber)
    	{
    		System.out.println("accountNumber" + accountNumber);
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public BankAccountOutputVO closeAcount(String accountNumber)
    	{
    		System.out.println("accountNumber " + accountNumber);
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public BankAccountOutputVO createNewCurrentAccount(String name,
    			double amount, double overdraftLimit)
    	{	
     
    		System.out.println("name " + name + " amount" + amount + " overdraftLimit" + overdraftLimit);
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public BankAccountOutputVO createNewSavingsAccount(String name,
    			double amount)
    	{System.out.println("name" + name);
    	System.out.println("amount" + amount);	
    	// TODO Auto-generated method stub
    		return null;
    	}
     
    	public List listAllAccounts()
    	{
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public BankAccountOutputVO makeDeposit(String accountNumber, double amount)
    	{
    		System.out.println("accountNumber" + accountNumber + " amount" + amount);
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public BankAccountOutputVO makeWithdrawal(String accountNumber,
    			double amount)
    	{
    		System.out.println("accountNumber" + accountNumber);
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    }
    J'ai creer la classe account que voici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    abstract class Account 
    	{
    	public Account (String accountNumber, String name, String amount)
    		{
    		this.accountNumber=accountNumber;
    		//this.accountType=accountType;
    		this.name=name;
    		this.amount=amount;
    		}
    		public String accountNumber, name, amount;
    	}	
     
    class CurrentAccount extends Account
    	{
    	public CurrentAccount (String accountNumber, String name, String balance, String overdraft)
    		{
    		super(accountNumber, name, balance);
    		this.overdraft=overdraft;
     
    		}
    		public String overdraft;
    	}
     
     
    class SavingAccount extends Account
    	{
    	public SavingAccount (String accountNumber, String name, String balance, String rateInterest)
    	{
    		super(accountNumber, name, balance);
    		this.rateInterest=rateInterest;
    	}
    	public String rateInterest;
    }
    il faut maintenant que je creer un moyen d'enregistrer et de gerer les comptes (account), je suppose a l'aide de collections, mais je ne sais pas si je dois faire un programme principal, faire un enouvelle classe, modifier les une des autres classe, vu que je suis debutant.. bref je suis perdu.. j'ai lu les tuto sur les mvc, mais cela ne m'a pas beaucoup aider vu mon faible niveau de java.. toute sorte d'aide ou d'indication est vraiment bien venu.. Merci d'avance
    Desole pour l'orthographe, mais il n'y a pas d'accent sur les claviers anglais..sniff...

  2. #2
    Membre régulier Avatar de pseudobidon57
    Inscrit en
    Octobre 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    Personne ne veux m'aider?? Je suis desesperer avec ce projet.. Je sais pas comment exposer mon probleme plus clairement.. surtout que j'ai commencer java il y a a peine une semaine et demi..
    Desole pour l'orthographe, mais il n'y a pas d'accent sur les claviers anglais..sniff...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 106
    Points : 78
    Points
    78
    Par défaut
    Si tu n'as jamais fais de POO (Programmation Orientée Objet), je pense que celà est tout à fait normal que tu n'ais pas les reflexes concernant l'architecture de tes programmes...c'est encore plus dur quand on reprends qqch de déjà fait...

    Au début, lorsque j'ai commencé mes premieres interfaces graphiques, c'était vraiment du "pas propre". Un code franchement médiocre...mais avec le temps, on comprends comment optimiser, agencer ceci et celà pour programmer plus vite, et surtout mieux sans se compliquer la vie.

    Mais, je pense que pour tout débutant en java, c'est absolument normal d'être perdu et de "paniquer", tu vas devoir te "casser les dents" en quelque sorte. Le modele "Model View Controller" est un bon modèle. Mais, tu ne comprends p-e pas pourquoi il est bien. Et le suivre, peut-etre, d'une façon général, te cacher de certaines réponses.

    Pour ton programme, tu dois faire une interface graphique si je comprends bien, tu communiqueras avec une base de données je suppose? via un réseau? Connais-tu la différence entre Interface/extends/abstract?
    le contexte permet déjà de se donner une idée pour mieux aborder le problème

    Je te laisse, j'attends ta réponse

  4. #4
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Bonjour.

    Bon : En gros, tu as la couche métier toute prête et ton rôle est de développer la couche présentation et peut être Contrôle.

    Tu devrais faire ton choix : soit une application à client riche/lourd : swing par exemple, ou une application web avec Struts par exemple ou JSF, mais vu que tu es débutant, ça va faire un peu mal là


    Sinon, c'est quoi cette histoire de Contrôleur tout prêt teller.jar ? Les classes que tu as fournis sont dans ce jar ? si c'est le cas, alors c'est pas du tout un contrôleur, mais comme je l'ai dit au début, c'est la couche métier.

    Plus d'explications dans ces cours et tutoriels Java : http://java.developpez.com/cours/
    Par exemple le cours Java de jmdoudou est bon : http://jmdoudoux.developpez.com/cours/developpons/java/

  5. #5
    Membre régulier Avatar de pseudobidon57
    Inscrit en
    Octobre 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    en fait je ne dois toucher ni aux vues, ni au controleur ( de toutes facon j'y ai pas acces), je ne dois faire que le modele. C'est a dire ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    package com.fdm.bank;
     
    import java.util.List;
     
    import javax.security.auth.login.AccountException;
     
     
    public class BankManager implements _BankManager
    {
     
    	public BankAccountOutputVO ViewAccountSummary(String accountNumber)
    	{
    		System.out.println("accountNumber" + accountNumber);
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public BankAccountOutputVO closeAcount(String accountNumber)
    	{
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public BankAccountOutputVO createNewCurrentAccount(String name,
    			double amount, double overdraftLimit)
    	{	
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public BankAccountOutputVO createNewSavingsAccount(String name,
     
    	// TODO Auto-generated method stub
    		return null;
    	}
     
    	public List listAllAccounts()
    	{
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public BankAccountOutputVO makeDeposit(String accountNumber, double amount)
    	{
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    	public BankAccountOutputVO makeWithdrawal(String accountNumber,
    			double amount)
    	{
    		// TODO Auto-generated method stub
    		return null;
    	}
     
    }
    l'ineterface graphique existe deja. j'ai juste du creer les classes Account.
    excusez moi aussi au niveau du vocabulaire, je fais cette formation java en angleterre, et le jargon est sans doute different ( Je voudrais pas passer pour un calimero, mais le fait de suivre cette formation en angleterre uniquement avec des anglais ajoute encore une (tres grosse) dose de difficulte pour moi, je suis ici pour la premiere fois depuis un peu plus d'un mois et je nage completement)
    Desole pour l'orthographe, mais il n'y a pas d'accent sur les claviers anglais..sniff...

  6. #6
    Membre régulier Avatar de pseudobidon57
    Inscrit en
    Octobre 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    Mon premier objectif serait deja de creer un nouveau compte, par exemple un CurrentAccount et le ranger dans une hashMap.
    Desole pour l'orthographe, mais il n'y a pas d'accent sur les claviers anglais..sniff...

  7. #7
    Membre régulier Avatar de pseudobidon57
    Inscrit en
    Octobre 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 133
    Points : 101
    Points
    101
    Par défaut
    oui fantomas je pense maitriser a peu pres les concept extends, implements, et abstract.. mais je ne vois pas comment tout cela fonctionne ensemble, comment les fonction s'appellent les unes les autres, j'ai du mal a me representer tout cela.. en tout cas merci pour tes encouragements..
    Desole pour l'orthographe, mais il n'y a pas d'accent sur les claviers anglais..sniff...

Discussions similaires

  1. Quelques conseils pour un futur élève
    Par LilBoOdy dans le forum Etudes
    Réponses: 5
    Dernier message: 01/03/2007, 11h27
  2. Réponses: 8
    Dernier message: 26/11/2006, 14h16
  3. Quelques conseils pour la reprise de mon jeu ?
    Par Franck.H dans le forum SDL
    Réponses: 16
    Dernier message: 23/09/2006, 12h55
  4. Quelques conseils pour créer une application 3D
    Par mister3957 dans le forum Développement 2D, 3D et Jeux
    Réponses: 8
    Dernier message: 13/03/2006, 22h45
  5. Besoin de quelques conseils pour un script java
    Par poussin544 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/03/2006, 10h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo