Génie logiciel

Q & A pour les professionnels, les universitaires et les étudiants travaillant dans le cycle de vie du développement de systèmes

2
Architecture du système d'alerte
Je voudrais créer un système qui gère les messages d'alerte de divers programmes et peut traiter ces alertes par e-mail auprès des consommateurs en aval. Tout cela serait contenu sur un seul réseau interne. Je pense que je veux que l'architecture de base ressemble à ceci: La principale préoccupation que …


5
Méthodologie agile: rapide et sale ou planifier en premier?
Question agile: est-ce que l'agile croit qu'il faut faire fonctionner les choses de la manière «rapide et sale» - ou est-ce que l'agile préfère construire solidement à partir de zéro? Ou n'est-ce pas une question de méthodologie, et plus une question que vous évaluez au cas par cas? Je suis …
10 agile 


3
Est-ce une bonne pratique d'envelopper un ensemble de propriétés dans sa propre structure / classe?
Écrire un objet utilisateur dans Swift, bien que ma question concerne n'importe quel langage fortement typé. Un utilisateur peut avoir un tas de liens (FacebookProfile, InstagramProfile, etc.). Quelques questions à ce sujet. Est-ce une bonne pratique d'encapsuler des liens dans leur propre objet? struct Utilisateur { var firstName: chaîne var …

4
Comment un compilateur récupère-t-il exactement d'une erreur de type?
J'ai lu plusieurs articles, articles et section 4.1.4, chapitre 4 de Compilers: Principles, Techniques, and Tools (2nd Edition) (aka "The Dragon Book") qui traitent tous du sujet de la récupération d'erreur du compilateur syntaxique. Cependant, après avoir expérimenté avec plusieurs compilateurs modernes, j'ai vu qu'ils récupèrent également des erreurs sémantiques …

6
La séparation de la plupart des classes en classes de champ de données uniquement et en classes de méthode uniquement (si possible) est-elle un bien ou un anti-modèle?
Par exemple, une classe a généralement des membres de classe et des méthodes, par exemple: public class Cat{ private String name; private int weight; private Image image; public void printInfo(){ System.out.println("Name:"+this.name+",weight:"+this.weight); } public void draw(){ //some draw code which uses this.image } } Mais après avoir lu sur le principe …



2
Comment concevoir les limites agrégées?
Je voudrais écrire une application quelque chose comme le commerce électronique. Et vous savez que dans des applications similaires, les produits peuvent avoir des propriétés et des fonctionnalités différentes. Pour simuler une telle opportunité, j'ai créé les entités de modèle de domaine suivantes: Catégorie - c'est quelque chose comme "électronique> …


5
Comment résoudre l'interdépendance des classes dans mon code C ++?
Dans mon projet C ++, j'ai deux classes, Particleet Contact. Dans la Particleclasse, j'ai une variable membre std::vector<Contact> contactsqui contient tous les contacts d'un Particleobjet, et les fonctions membres correspondantes getContacts()et addContact(Contact cont). Ainsi, dans "Particle.h", j'inclus "Contact.h". Dans la Contactclasse, je voudrais ajouter du code au constructeur pour Contactcet …

1
Pourquoi les opérateurs Null-Safe (par exemple «opérateur Elvis») ont-ils été rejetés dans le cadre du «Project Coin» de Java 7?
L'une des fonctionnalités proposées pour le "Project Coin" de Java 7 était "l'opérateur Elvis". Un rapport d'une présentation JavaOne 2009 sur Project Coin le décrit comme tel: L'une des «petites fonctionnalités» abordées dans cette présentation est ce que l'on appelle «l'opérateur Elvis», une version plus concise de l'opérateur ternaire. Je …
10 java  api-design 

5
Est-il jamais acceptable de violer le LSP?
Je poursuis sur cette question , mais je passe mon attention du code à un principe. D'après ma compréhension du principe de substitution de Liskov (LSP), quelles que soient les méthodes de ma classe de base, elles doivent être implémentées dans ma sous-classe, et selon cette page, si vous remplacez …


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.