55 votes

Qu'est-ce que la séparation des préoccupations?

Qu'est-ce que la séparation des préoccupations?
Quel est le problème?
Comment peut-on partitionner une application entre ces "préoccupations différentes"?

51voto

Lucas Oman Points 9027

Les préoccupations sont les différents aspects de la fonctionnalité du logiciel. Par exemple, la "logique" du logiciel est un sujet de préoccupation, et l'interface à travers laquelle une personne utilise cette logique en est une autre.

La séparation des préoccupations est de garder le code pour chacune de ces préoccupations distinctes. Modification de l'interface ne devrait pas avoir besoin de changer le code de la logique métier, et vice versa.

Modèle-Vue-Contrôleur (MVC) modèle de conception est un excellent exemple de la séparation de ces préoccupations pour le meilleur logiciel de maintenance.

Pour plus d'informations:

25voto

mbac32768 Points 3830

Vous connaissez le HTML et le CSS? C'est la séparation des préoccupations ici.

Le fichier HTML (éventuellement XML) définit la structure du document. Le fichier CSS définit la présentation du document sur votre écran.

8voto

Simucal Points 34961

http://en.wikipedia.org/wiki/Separation_of_concerns

En informatique, la séparation des préoccupations (SoC) est le processus de rupture d'un programme d'ordinateur en différentes fonctions qui se chevauchent dans la fonctionnalité aussi peu que possible. Une préoccupation est de toute pièce d'intérêts ou de se concentrer dans un programme. Généralement, les préoccupations sont synonymes avec des caractéristiques ou des comportements. Les progrès vers la SoC est traditionnellement réalisé grâce à la modularité et l'encapsulation, avec l'aide de se cacher de l'information.

5voto

Tim Ottinger Points 824

Il est décrit sur wikipedia: http://en.wikipedia.org/wiki/Separation_of_concerns

C'est la valeur indiquée dans le Principe de Responsabilité Unique, qu'une fonction/classe/méthode doit faire une seule chose. Qu'il doit tout faire, le faire bien, et de le faire seul. Vous pouvez lire à ce sujet: http://www.objectmentor.com/resources/articles/srp.pdf

Fondamentalement, cela signifie que vous ne devriez pas munge vos idées ensemble pour en faire une pâte grumeleuse, mais vous devez séparer vos idées proprement dans le code. Si vous ne le faites pas, il est difficile de changer, de tester et de déboguer le code. Si vous ne les séparer, alors vous avez une certaine liberté de changer. Par exemple, si vous munge votre générateur de code html à votre requête, vous trouverez qu'il est difficile de modifier la mise en forme, et vous trouverez qu'il est difficile de passer à une autre requête. Si vous vous séparez, puis les deux de ces choses deviennent plus faciles. Ou plus facile, au moins.

3voto

Aaron Points 441

Wikipedia:

En informatique, la séparation des préoccupations (SoC) est le processus de rupture d'un programme d'ordinateur en différentes fonctions qui se chevauchent dans la fonctionnalité aussi peu que possible. Une préoccupation est de toute pièce d'intérêts ou de se concentrer dans un programme. Généralement, les préoccupations sont synonymes avec des caractéristiques ou des comportements. Les progrès vers la SoC est traditionnellement réalisé grâce à la modularité et l'encapsulation, avec l'aide de se cacher de l'information.

Je post ce n'est pas pour gagner rep, mais de se demander pourquoi vous poser une question qui peut si facilement être répondu.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X