Bonjour,
Je travaille dans un environnement de programmation par interface.
J'ai une interface (IInterface) qui est trop complète pour des parties de mon code.
J'aimerai cacher certaines de ses méthodes, l'alléger (disons IInterfaceLight), tout en gardant une notion de hiérarchie/cast/conversion pour revenir de IInterfaceLight vers IInterface.
Code :
- class XXX
- Do(IInterface m) doit être remplacé par Do(IInterfaceLight m)
- ---
- IInterface
- - MethodA
- - MéthodB
- ---
- IInterfaceLight
- - MethodA
- ---
- class wrapperLight : IInterfaceLight
- {
- public wrapperLight (IInterface )
- }
|
J'ai deux solutions à ce problème :
- faire une classe wrapper qui implémente IInterfaceLight et qui se branche directement sur les méthodes de IInterface
- Faire dériver IInterface de IInterfaceLight, ce qui me dérange car dans le fonctionnement, IInterfaceLight est toujours une IInterface
De meilleurs idées ?
Merci
---
Edit :
Si je divise IInterface en IInterfaceLight et IInterfaceNonLight, et que IInterface hérite de ces deux interfaces, ça pourrait marcher... des avis ?
Message édité par RedFishes le 22-12-2011 à 17:18:42