2010-06-18 8 views
2

Je n'ai pas codé en Java depuis longtemps, et après avoir codé en C, j'ai émis l'organisation de mon code pour la POO. Plus précisément, je ne suis pas sûr quand créer une nouvelle méthode, et quand créer une nouvelle classe, et quand tout mettre ensemble.Quelle est la meilleure façon d'organiser le code orienté objet?

Existe-t-il des règles générales ou des directives sur la façon dont cela devrait être fait?

Répondre

2

Tout d'abord, ne jamais simplement tout regrouper. Essayez d'identifier les objets en premier. Construisez une classe pour chaque objet avec lequel votre programme travaillera. Si vous construisez une application pour les chauffeurs de camion, vous aurez besoin d'une classe pour le conducteur, le camion, la charge qu'il transporte, il n'y a vraiment aucune limite à quelle distance vous pouvez casser ces gros objets. En ce qui concerne les méthodes, une méthode gère une action pour l'objet. Truck.Start() démarre le camion. Drive() démarre la conduite, etc ... Peut-être que la méthode Drive prend un objet Route pour un argument qui contient les routes à conduire. En bref, créez une méthode quand un objet a besoin de faire quelque chose et créez une classe quand vous voulez traiter avec un autre type d'objet.

22

Jetez un coup d'œil au SOLID principles.

EDIT (quelques autres pointeurs):

Vous avez besoin d'un SOLIDGRASP de certains principes de conception.

Pour commencer petit, jetez un oeil à ces premiers:

Lors de l'écriture de code, haut maintainability devrait être votre but ultime, et il s'agit d'attribuer des responsabilités et la séparation des préoccupations.

+3

Merde! Juste me battre pour ça. Bonne réponse - de grands esprits se ressemblant. – duffymo

+0

Peut-être un peu trop avancé pour moi encore. Je pense beaucoup plus aux bases! – Adam

+2

Non, pas si avancé. Vous ne pourriez pas avoir déterminé cela en si peu de temps. Lisez-les ... plus d'une fois. – duffymo

5

Les objets bien conçus sont SOLID.

C'est une question difficile, que tous ceux qui s'inquiètent du design doivent comprendre. Je pense que c'est la partie la plus difficile d'utiliser des objets, des années-lumière au-delà de la simple syntaxe.

2

Est-ce quelque chose que vous considérez comme une chose, une entité ou un acteur dans votre système? Eh bien, c'est un objet alors faites une classe pour le représenter. Il n'y a pas besoin de le rendre plus difficile que ça ne l'est.

Questions connexes