139 lines
5.8 KiB
Plaintext
139 lines
5.8 KiB
Plaintext
<!DOCTYPE html>
|
|
<html lang="fr">
|
|
<!-- Updated by Blorec Hervé le 2016-08-01-->
|
|
<head>
|
|
<title>JMRI: Introduction à la Structure</title>
|
|
<meta name="author" content="Bob Jacobsen">
|
|
<meta name="keywords" content="JMRI technical code">
|
|
<!--#include virtual="/help/fr/parts/Style.shtml" -->
|
|
</head>
|
|
|
|
<body>
|
|
<!--#include virtual="/help/fr/parts/Header_fr.shtml" -->
|
|
<div id="mBody">
|
|
<!--#include virtual="Sidebar.shtml" -->
|
|
<div id="mainContent">
|
|
<!-- Page Body -->
|
|
|
|
<h1>JMRI: Introduction à la Structure de la Librairie de JMRI</h1>
|
|
|
|
Parce que nous nous attendons à avoir des interfaces différentes dans le paquet <code>jmrix</code>,
|
|
les outils JMRI
|
|
ne créez pas directement les objets d'interface dont ils ont besoin.
|
|
Plutôt, ils demandent des exemples
|
|
d'interfaces.
|
|
Pour les interfaces dans le paquet <code>jmri</code>, qui pourraient être mises en oeuvre
|
|
par beaucoup de types de réseaux différents, <code>jmri.InstanceManager</code> répond à ces demandes.
|
|
|
|
<p>
|
|
Plus d'informations sur la façon dont les choses (par exemple des objets représentant les éléments sur ler éseau)
|
|
sont nommées et
|
|
<a href="Names.shtml"> sont disponibles sur une page séparée </a>.
|
|
|
|
<p>
|
|
Plus précisément:
|
|
|
|
<dl>
|
|
<dt>jmri
|
|
<dd>Contient des interfaces et implémentations de classe de base
|
|
pour les objets communs JMRI. Ceci est l'interface de base
|
|
de la bibliothèque globale JMRI et de ses capacités.<br>
|
|
Le Code dans le paquet jmri
|
|
devrait dépendre d'aucun autre code JMRI, mais il peut dépendre de
|
|
code externes (log4j, etc)
|
|
|
|
<dt>jmrit
|
|
<dd>Contient des <strong>o</strong>utils utiles et des extensions communément utiles.<br>
|
|
Il peut dépendre de jmri.* et externes. Il ne doit pas dépendre de jmrix.*
|
|
|
|
<dt>jmrix
|
|
<dd>Contient le code qui est spécifique à un système
|
|
e<strong>x</strong>terne particulier. Cela inclut les implémentations des interfaces de jmri
|
|
qui sont spécifiques à un système, plus les outils systéme spécifiques (à long terme, ceux-ci pourraient certainement être séparées).<br>
|
|
jmrix peut dépendre de jmri et d'externes, mais pas de jmrit.
|
|
|
|
<dt>util
|
|
<dd>Classes de services général qui ne sont_pas_des outils au niveau de l'utilisateur.
|
|
|
|
<dt>gestionnaires (managers)
|
|
<dd> Résumé et implémentations par défaut des différents
|
|
type de Gestionnaires JMRI, par exemple, les classes concrètes de l'InstanceManager.
|
|
Il s'agit d'un accident de l'histoire que ceux-ci aient leurs propres paquets,
|
|
plutôt que d'être incorporés dans jmri.implementations.
|
|
|
|
<dt>implémentations
|
|
<dd> Résumé et implémentations par défaut des différents objets jmri;
|
|
pas de code système spécifique ou code Swing permis ici.
|
|
Ils sont dans un paquet séparé, plutôt que dans jmri lui-même,
|
|
pour rendre le paquet jmri simple à comprendre pour les personnes
|
|
qui veulent juste utiliser la bibliothèque.
|
|
|
|
<dt>applications (apps)
|
|
<dd> Contient les bases de l'application qui peut utiliser les classes jmri, jmrit, et
|
|
jmrix , ainsi que toute autre chose.
|
|
En ayant cela ici, nous brisons la dépendance
|
|
entre les classes et jmrix jmrit (quelqu'un doit créer les
|
|
objets outil généraux et spécifiques au système pour une application;
|
|
que la dépendance est du paquet apps)
|
|
</dl>
|
|
|
|
Basiquement
|
|
<pre>
|
|
|
|
|
|
apps -> jmri
|
|
|
|
A A
|
|
/ \
|
|
/ \
|
|
jmrix jmrit
|
|
|
|
|
|
</pre>
|
|
(Cela devrait montrer des applications en utilisant jmrit et jmrix aussi, mais c'est trop difficile à dessiner en ASCII)
|
|
|
|
<p>L'utilisation intensive du pattern Factory via des objets que nous appelons "gestionnaire" des objets.</p>
|
|
|
|
<p>L'utilisation intensive du pattern Factory via des objets
|
|
que nous appelons "gestionnaire" des objets.</p>
|
|
|
|
<h3>Exemple: un Aiguillage</h3>
|
|
Les Aiguillages impliquent:
|
|
<ul>
|
|
<li> aiguillage - l'interface de base. C'est ce que vous devriez vous attendre à trouver
|
|
lorsque vous écrivez votre code d'automatisation du réseau, c'est ce que vous obtenez
|
|
lorsque vous faites une demande du TurnoutManager, etc
|
|
<li> AbstractTurnout - fournit pour la commodité lors de l'implémentation de l'interface de l'aiguillage
|
|
pour du matériel spécifique, ceci offre la mise en oeuvre de base .
|
|
<li> LnTurnout - une implémentation spécifique pour les aiguillages LocoNet - connectés.
|
|
</ul>
|
|
|
|
<p>
|
|
Pour obtenir une exemple d'Aiguillage spécifique qui représente quelque chose sur le réseau, vous
|
|
faite une demande au TurnoutManager.
|
|
Il s'agit également d'une interface, avec une implémentation
|
|
semblable du modèle.</p>
|
|
<ul>
|
|
|
|
<li>AbstractTurnout - fournit pour la commodité lors
|
|
de l'implémentation de l'interface de l'aiguillage
|
|
pour du matériel spécifique, ceci offre la
|
|
mise en oeuvre de base .</li>
|
|
|
|
<li>LnTurnout - une implémentation spécifique
|
|
pour les aiguillages LocoNet - connectés.</li>
|
|
</ul>
|
|
|
|
<p>Pour obtenir une exemple d'Aiguillage spécifique
|
|
qui représente quelque chose sur le réseau,
|
|
vous faite une demande au TurnoutManager. Il s'agit
|
|
également d'une interface, avec une
|
|
implémentation semblable du modèle.</p>
|
|
|
|
<!--#include virtual="/help/fr/parts/Footer_fr.shtml" -->
|
|
</div><!-- closes #mainContent-->
|
|
</div><!-- closes #mBody-->
|
|
<script src="/js/help.js"></script>
|
|
</body>
|
|
</html>
|