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
Modèle de référentiel vs création d'objet DAL
Pour autant que je sache, le IRepositorydevrait contenir CRUD. Ensuite , nous héritons ce IRepositorydans nos autres interfaces comme IProductet mettons en œuvre IProductclasse concrète ProductRepository, avec des méthodes telles que GetAllProducts(), Top5Products(). Nous pourrions également faire de même avec une architecture à n niveaux. comme, Création DAL Class Libraryet …

6
Dijkstra avait-il l'intention de modulariser le code, lorsqu'il a écrit sur la séparation des préoccupations?
Tout d'abord, j'ai lu un extrait du document de 1974 d'Edsger W. Dijkstra "Sur le rôle de la pensée scientifique": Permettez-moi d'essayer de vous expliquer ce qui, à mon goût, est caractéristique de toute pensée intelligente. C'est que l'on est prêt à étudier en profondeur un aspect de son sujet …


1
Nom de la technique pour déduire les arguments de type d'un paramètre de type?
Configuration: Supposons que nous avons un type appelé Iteratorqui a un paramètre de type Element: interface Iterator<Element> {} Ensuite, nous avons une interface Iterablequi a une méthode qui retournera un Iterator. // T has an upper bound of Iterator interface Iterable<T: Iterator> { getIterator(): T } Le problème d' Iteratorêtre …

2
Granularité des exceptions
J'ai rencontré un débat entre quelques amis et moi. Ils préfèrent les exceptions générales telles que ClientErrorExceptionet ServerErrorExceptionavec détail comme champs de l'exception, alors que je préfère rendre les choses plus spécifiques. Par exemple, je pourrais avoir une poignée d'exceptions comme: BadRequestException AuthenticationFailureException ProductNotFoundException Chacun de ces éléments est basé …


3
For-if antipattern
Je lisais sur ce billet de blog sur l'anti-modèle for-if, et je ne suis pas sûr de comprendre pourquoi c'est un anti-modèle. foreach (string filename in Directory.GetFiles(".")) { if (filename.Equals("desktop.ini", StringComparison.OrdinalIgnoreCase)) { return new StreamReader(filename); } } Question 1: Est-ce à cause de l' return new StreamReader(filename);intérieur du for loop? …

5
Microservices: MonolithFirst?
J'ai fait des recherches sur les architectures de microservices en essayant d'obtenir un aperçu de haut niveau de tous les avantages et inconvénients, pourquoi et pourquoi, etc. Une grande partie des informations que je lis / regarde proviennent de ThoughtWorks (Martin Fowler, Neal Ford, et Al). La plupart des travaux …

6
qu'est-ce qui peut mal tourner dans le contexte de la programmation fonctionnelle si mon objet est modifiable?
Je peux voir que les avantages des objets mutables par rapport aux objets immuables, comme les objets immuables, enlèvent beaucoup de problèmes difficiles à résoudre dans la programmation multithread en raison de l'état partagé et accessible en écriture. Au contraire, les objets mutables aident à gérer l'identité de l'objet plutôt …




4
contexte ambiant vs injection de constructeur
J'ai de nombreuses classes de base qui nécessitent ISessionContext de la base de données, ILogManager pour le journal et IService utilisé pour communiquer avec d'autres services. Je veux utiliser l'injection de dépendances pour cette classe utilisée par toutes les classes principales. J'ai deux implémentations possibles. La classe principale qui accepte …


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.