Files
JIMRI/help/fr/html/doc/Technical/IntroStructure.shtml
T
2026-06-17 14:00:51 +02:00

139 lines
5.8 KiB
Plaintext

<!DOCTYPE html>
<html lang="fr">
<!-- Updated by Blorec Herv&#233; le 2016-08-01-->
<head>
<title>JMRI: Introduction &agrave; 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 &#224; la Structure de la Librairie de JMRI</h1>
Parce que nous nous attendons &#224; avoir des interfaces diff&#233;rentes dans le paquet <code>jmrix</code>,
les outils JMRI
ne cr&#233;ez pas directement les objets d'interface dont ils ont besoin.
Plut&#244;t, ils demandent des exemples
d'interfaces.
Pour les interfaces dans le paquet <code>jmri</code>, qui pourraient &#234;tre mises en oeuvre
par beaucoup de types de r&#233;seaux diff&#233;rents, <code>jmri.InstanceManager</code> r&#233;pond &#224; ces demandes.
<p>
Plus d'informations sur la fa&#231;on dont les choses (par exemple des objets repr&#233;sentant les &#233;l&#233;ments sur ler &#233;seau)
sont nomm&#233;es et
<a href="Names.shtml"> sont disponibles sur une page s&#233;par&#233;e </a>.
<p>
Plus pr&#233;cis&#233;ment:
<dl>
<dt>jmri
<dd>Contient des interfaces et impl&#233;mentations de classe de base
pour les objets communs JMRI. Ceci est l'interface de base
de la biblioth&#232;que globale JMRI et de ses capacit&#233;s.<br>
Le Code dans le paquet jmri
devrait d&#233;pendre d'aucun autre code JMRI, mais il peut d&#233;pendre de
code externes (log4j, etc)
<dt>jmrit
<dd>Contient des <strong>o</strong>utils utiles et des extensions commun&#233;ment utiles.<br>
Il peut d&#233;pendre de jmri.* et externes. Il ne doit pas d&#233;pendre de jmrix.*
<dt>jmrix
<dd>Contient le code qui est sp&#233;cifique &#224; un syst&#232;me
e<strong>x</strong>terne particulier. Cela inclut les impl&#233;mentations des interfaces de jmri
qui sont sp&#233;cifiques &#224; un syst&#232;me, plus les outils syst&#233;me sp&#233;cifiques (&#224; long terme, ceux-ci pourraient certainement &#234;tre s&#233;par&#233;es).<br>
jmrix peut d&#233;pendre de jmri et d'externes, mais pas de jmrit.
<dt>util
<dd>Classes de services g&#233;n&#233;ral qui ne sont_pas_des outils au niveau de l'utilisateur.
<dt>gestionnaires (managers)
<dd> R&#233;sum&#233; et impl&#233;mentations par d&#233;faut des diff&#233;rents
type de Gestionnaires JMRI, par exemple, les classes concr&#232;tes de l'InstanceManager.
Il s'agit d'un accident de l'histoire que ceux-ci aient leurs propres paquets,
plut&#244;t que d'&#234;tre incorpor&#233;s dans jmri.implementations.
<dt>impl&#233;mentations
<dd> R&#233;sum&#233; et impl&#233;mentations par d&#233;faut des diff&#233;rents objets jmri;
pas de code syst&#232;me sp&#233;cifique ou code Swing permis ici.
Ils sont dans un paquet s&#233;par&#233;, plut&#244;t que dans jmri lui-m&#234;me,
pour rendre le paquet jmri simple &#224; comprendre pour les personnes
qui veulent juste utiliser la biblioth&#232;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&#233;pendance
entre les classes et jmrix jmrit (quelqu'un doit cr&#233;er les
objets outil g&#233;n&#233;raux et sp&#233;cifiques au syst&#232;me pour une application;
que la d&#233;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 &#224; 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 &#224; trouver
lorsque vous &#233;crivez votre code d'automatisation du r&#233;seau, c'est ce que vous obtenez
lorsque vous faites une demande du TurnoutManager, etc
<li> AbstractTurnout - fournit pour la commodit&#233; lors de l'impl&#233;mentation de l'interface de l'aiguillage
pour du mat&#233;riel sp&#233;cifique, ceci offre la mise en oeuvre de base .
<li> LnTurnout - une impl&#233;mentation sp&#233;cifique pour les aiguillages LocoNet - connect&#233;s.
</ul>
<p>
Pour obtenir une exemple d'Aiguillage sp&#233;cifique qui repr&#233;sente quelque chose sur le r&#233;seau, vous
faite une demande au TurnoutManager.
Il s'agit &#233;galement d'une interface, avec une impl&#233;mentation
semblable du mod&#232;le.</p>
<ul>
<li>AbstractTurnout - fournit pour la commodit&eacute; lors
de l'impl&eacute;mentation de l'interface de l'aiguillage
pour du mat&eacute;riel sp&eacute;cifique, ceci offre la
mise en oeuvre de base .</li>
<li>LnTurnout - une impl&eacute;mentation sp&eacute;cifique
pour les aiguillages LocoNet - connect&eacute;s.</li>
</ul>
<p>Pour obtenir une exemple d'Aiguillage sp&eacute;cifique
qui repr&eacute;sente quelque chose sur le r&eacute;seau,
vous faite une demande au TurnoutManager. Il s'agit
&eacute;galement d'une interface, avec une
impl&eacute;mentation semblable du mod&egrave;le.</p>
<!--#include virtual="/help/fr/parts/Footer_fr.shtml" -->
</div><!-- closes #mainContent-->
</div><!-- closes #mBody-->
<script src="/js/help.js"></script>
</body>
</html>