Questions marquées «object-oriented-design»

La conception orientée objet est le processus de planification d'un système d'objets en interaction dans le but de résoudre un problème logiciel.

3
Comment résoudre la dépendance circulaire?
J'ai trois classes qui sont circulaires dépendantes les unes des autres: TestExecuter exécute les demandes de TestScenario et enregistre un fichier de rapport à l'aide de la classe ReportGenerator. Alors: TestExecuter dépend de ReportGenerator pour générer le rapport ReportGenerator dépend de TestScenario et des paramètres définis par TestExecuter. TestScenario dépend …


7
Est-ce une odeur de code de mettre un drapeau dans une boucle pour l'utiliser plus tard?
J'ai un morceau de code où j'itère une carte jusqu'à ce qu'une certaine condition soit remplie et ensuite j'utilise cette condition pour faire plus de choses. Exemple: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for (Map.Entry<BigInteger, List<String>> entry : map.entrySet()) { fillUpList(); if(list.size() > limit) { …


10
Comment les promoteurs de la programmation fonctionnelle répondraient-ils à cette affirmation dans Code Complete?
À la page 839 de la deuxième édition, Steve McConnell discute de toutes les façons dont les programmeurs peuvent "conquérir la complexité" dans les grands programmes. Ses conseils culminent avec cette déclaration: "La programmation orientée objet fournit un niveau d'abstraction qui s'applique aux algorithmes et aux données en même temps …

17
Quelle est la valeur de masquer les détails par le biais d'abstractions? N'y a-t-il pas de valeur dans la transparence?
Contexte Je ne suis pas un grand fan d'abstraction. J'admettrai que l'on peut bénéficier de l'adaptabilité, de la portabilité et de la réutilisation des interfaces, etc. Il y a l'autre "avantage" majeur de l'abstraction, qui est de cacher la logique d'implémentation et les détails aux utilisateurs de cette abstraction. L'argument …


3
Que se passe-t-il avec les tests de méthodes lorsque cette méthode devient privée après une nouvelle conception dans TDD?
Disons que je commence à développer un jeu de rôle avec des personnages qui attaquent d'autres personnages et ce genre de choses. En appliquant TDD, je fais quelques cas de test pour tester la logique à l'intérieur de la Character.receiveAttack(Int)méthode. Quelque chose comme ça: @Test fun healthIsReducedWhenCharacterIsAttacked() { val c …


6
Pouvez-vous implémenter une programmation «orientée objet» sans le mot-clé class?
Disons que nous voulons fournir une abstraction d'un "compte" dans une banque. Voici une approche, en utilisant un functionobjet en Python: def account(): """Return a dispatch dictionary representing a bank account. >>> a = account() >>> a['deposit'](100) 100 >>> a['withdraw'](90) 10 >>> a['withdraw'](90) 'Insufficient funds' >>> a['balance'] 10 """ def …

6
Existe-t-il un modèle de conception pour supprimer la nécessité de vérifier les drapeaux?
Je vais enregistrer une charge utile de chaîne dans la base de données. J'ai deux configurations globales: chiffrement compression Ceux-ci peuvent être activés ou désactivés à l'aide de la configuration de manière à ce que l'un d'eux soit activé, les deux soient activés ou les deux soient désactivés. Mon implémentation …

7
La programmation fonctionnelle ignore-t-elle les avantages tirés des «Sur les critères à utiliser pour décomposer les systèmes en modules» (masquage des données)?
Il y a un article classique intitulé Sur les critères à utiliser dans la décomposition des systèmes en modules que je viens de lire pour la première fois. Cela est parfaitement logique pour moi et est probablement l'un de ces articles sur lesquels la POO était basée. Sa conclusion: Nous …




En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.