Quelle est la différence entre les modèles d'application orientés données et orientés objet?
Ce qui est une application axée sur des données et quelle est la différence avec un objet d'application orientée modèle ?
source d'informationauteur Ryu Kaplan
Vous devez vous connecter pour publier un commentaire.
Les deux concepts sont un peu orthogonale, une Centré Sur Les Données De L'Application est celui où la base de données joue un rôle clé, où les propriétés de la base de données peuvent influer sur les chemins de code s'exécutant dans votre application et où le code est plus générique et tous les/la plupart de la logique métier est défini par l'intermédiaire de la base de données de relations et de contraintes. La programmation orientée objet peut être utilisé pour créer un centré sur les données de l'application.
Certains des grands multi-niveaux architectures qui les gens pensent quand ils disent de la programmation orientée objet architecture de mettre en œuvre une logique d'entreprise dans le code et qu'à stocker les données dans la base de données. Cependant, il serait faux de penser que la conception Orientée Objet doit être nécessairement une grande entreprise de la logique en proie système.
Dire que vous avez à mettre en œuvre la transmission de messages entre les deux systèmes. Un moyen (bien qu'un mauvais chemin) est d'avoir chacun des systèmes d'écrire les messages dans la base de données et l'autre système de lecture à partir de la base de données de temps en temps pour ramasser des messages. Ce serait une approche centrée sur les données qu'il y a très peu de code nécessaires autres que la lecture et l'écriture de données.
Le même système pourrait être mis en œuvre en ayant les systèmes d'ouvrir un socket de connexion à chacun des autres et envoyer des messages directement. De cette façon, il n'y a plus de code et moins d'accès de base de données. C'est le non-datacentric approche. L'un de ces pourrait être mis en œuvre à l'aide de concepts de programmation orientée objet.
Un autre exemple de mon travail, nous mettons en œuvre des serveurs pour les jeux, un type de serveur gère le multi-joueur de jeu de sorte que l'utilisateur appuie sur le bouton et le vaisseau spatial de feux de missiles à l'autre joueur. Ce serveur n'est pas datacentric elle est basée sur les événements. Un autre serveur stocke les utilisateurs des scores élevés, listes d'amis, etc ce serveur est wrapper fin sur la base de données qui stocke le score et les listes.
Un centré sur les données de conception est celui où le comportement de l'application est encapsulé par les données. Un exemple simple. Considérons la suite de la programmation orientée objet classe:
C'est une programmation orientée objet la représentation d'une voiture. Invoquant le "move" de la méthode de déclencher la voiture pour commencer à bouger. En d'autres termes, tout effets secondaires sont déclenchées en invoquant les méthodes de la classe.
Ici de la même classe, mais centré sur les données:
Afin d'obtenir cette voiture en mouvement, je le ferais "simplement" changer les valeurs de x et y. Dans la plupart des langages de programmation évolution membres ne permettent pas l'exécution de la logique, qui est pourquoi les données de l'orientation souvent besoin d'un cadre.
Dans un tel cadre, la logique est exécuté sur le C, U et D du CRUD. Un tel cadre permettra de fournir des installations appropriées pour permettre d'insertion de code à l'un de ces événements, par exemple:
Centré sur des données de conception a de nombreuses implications. Par exemple, étant donné un état de l'application est effectivement représentée par son de données, vous pouvez automatiquement persistent à l'application. Un bien écrit centré sur les données de l'application peuvent être stockés, à l'arrêt et restauré à partir d'une base de données, et de continuer comme si c'était jamais allé.
Centré sur les données les dessins sont un bon match pour les traditionnelles 3 de rang, les architectures web. Les applications Web sont généralement chassés par le contenu de la base de données principale. C'est pourquoi, lorsque vous fermez et rouvrez une page web dynamique, c'est toujours la même (à condition que les données n'ont pas changé).