Chères (?) et chers,
J'ai donc trouvé une librairie (non compilée) qui m'intéresse beaucoup, qu'importe ce qu'elle concerne. Elle comporte les fichiers sources de classes et d'interfaces '...cs' : C'est par exemple LayoutLibrary_lo_30.zip à http://aviationxchange.net/wikis/lan...gers-in-c.aspx .
Ce que je comprends :
- Une librairie de tiers est un ensemble de classes qui apportent des solutions, effectuent des calculs, prennent des décisions logiques ... dans le cadre d'une action spécialisée, telle que de disposer automatiquement et au mieux des objets de contrôle, des tableaux, des listes ... automatiquement dans l'espace d'un conteneur d'interface d'utilisateur.
- Des interfaces existent simplement pour annoncer l'existence de toutes les fonctions de librairie de tiers, que les classes qui héritent de ces interfaces (soit mes propres classes) se doivent d'implémenter. Elles sont donc contraignantes, si toutefois je ne dispose pas des fichiers sources de classes de la librairie de tiers qui les implémenterait et dont mes propres classes peuvent hériter directement.
Mes questions :
- Quels types de fonction d'une librairie peuvent bien exister pour obliger l'utilisateur de la librairie à les implémenter ? Pas des fonction de résolution de l'objet même de la librairie, il me semble.
(Cela concerne l'utilité des interfaces de fournisseurs de librairies ainsi que l'intérêt pour mes propres classes de les hériter et de les implémenter, si je dispose aussi des classes du fournisseur qui les implémente.)
- Pourquoi une librairie de sources fournit-elle des fichiers interfaces, sinon que pour le cas où une de mes propres classes implémente une telle interface de tiers, je sois obliger de définir TOUTES les fonctions annoncées, dans ma propre classe ?
Or la librairie qui m'intéresse (http://aviationxchange.net/wikis/lan...gers-in-c.aspx) ...
- est basée sur deux interfaces : 'ILayoutable' et 'ILayoutManager', cette dernière héritant de cette première.
- tous les fichiers restants décrivent des classes qui implémentent ces interfaces, c à d en résolvent la logique du problème spécifique de disposition de GUI (tel qu'il me semble logique, comme dit ci-dessus).
Les fonctions annoncées sont :
- 'ILayoutable' : GetMinimumSize(), GetMaximumSize(), GetPreferedSize(), GetLayout(), SetSize() et SetLocation().
- 'ILayoutManager' : AddLaoutable(), RemoveLayoutable(), RemoveAll().
Il me semble que ces fonctions sont quand même adressées à l'utilisateur de la librairie (moi).
Comment savoir comment implémenter toutes ces fonctions ?
Je veux disposer des services résolus d'une librairie; pas hériter d'un tas de fonction à implémenter ...
Et comme une classe héritant d'une interface doit en implémenter TOUTES les fonctions ...
Qu'est-ce qui m'échappe ?
Merci.







Répondre avec citation





Partager