web-dev-qa-db-fra.com

Les développeurs expérimentés et les architectes logiciels sont-ils capables de décrire une application logicielle complète en termes de modèles de conception?

Les développeurs expérimentés et les architectes logiciels ont-ils une application complète en termes de modèles de conception? En d'autres termes, des développeurs expérimentés et des architectes de logiciels capables de décrire une application logicielle complète en termes de modèles de conception? Par expérience, je veux dire des développeurs avec une expérience de plus de 10 ans. Est-ce que quelque chose que je devrais s'efforcer d'atteindre. Je parle de développeurs travaillant sur des langages orientés objet tels que C #, Java et C++, mais souhaite également entendre des développeurs/architectes JavaScript.

1
user2330678

Cela dépendra beaucoup de la taille de l'application et à quel niveau d'abstraction l'architecte fonctionne.

Si la demande est une application triviale (comme une tâche scolaire) résolvant un problème bien connu avec un schéma bien connu, son architecte connaît probablement le modèle de conception et être capable de le décrire comme ça. Dans des systèmes plus importants, cela devient beaucoup plus difficile: de nombreux motifs se chevauchent, chaque solution a une exigence spécifique de casser certains modèles, des limitations de la plate-forme forcer des écarts, etc. sur cette taille, il devient beaucoup plus difficile d'expliquer l'ensemble de l'architecture avec des modèles de conception , mais pourrait encore être possible dans une certaine mesure.

Dans les systèmes logiciels à grande échelle avec des millions de lignes de code (ou dans certaines centaines de millions de millions de millions) complètement de nouveaux modèles commencent à émerger. Compréhension, ou même simplement décrire ce qui se passe à cette échelle peut toujours vous procurer un doctorat. À cette taille si l'architecte est responsable de certains sous-système menant une équipe, ils pourraient décrire leur propre rôle liée aux modèles de conception, mais il n'aura probablement pas d'aperçu de l'ensemble du système. Si l'architecte travaille sur le "haut du système" coordonnant d'autres architectes, les sous-systèmes, peut-être négocier avec des partenaires commerciaux, etc. Ils pourraient vous donner une description sur le système global, mais ils ne seront pas vraiment en mesure de Donnez des informations détaillées sur la façon dont chaque partie fonctionne.

Veuillez noter qu'après une taille et une complexité, ce n'est plus une faute d'architectes si elles ne peuvent pas "comprendre"/"décrire" tout le système en détail. La taille et la complexité peuvent se développer au-delà des capacités de quiconque (ou du moins avec les outils que nous avons actuellement).

Quelques observations personnelles sur des systèmes logiciels à grande échelle:

0
Kristóf Szabados