J'ai été regarder dans la faisabilité de l'utilisation de Réactifs de l'INTERFACE utilisateur dans le code de production. Certaines des fonctionnalités sont vraiment attrayant, mais j'ai des inquiétudes au sujet de la dépendance sur cette bibliothèque. Elles comprennent:
- Déjanté et les conventions de nommage. Par exemple, les membres protégés de départ avec des minuscules, et l'
RaiseAndSetIfChanged
méthode dépend de votre membre privé commençant par un trait de soulignement. Je comprends Paul Betts (ReactiveUI auteur) a un Rubis de fond, donc je suppose que c'est là l'étrange appellation provient de. Cependant, cela va provoquer un réel problème pour moi, depuis la norme de nommage (comme par Stylecop) est appliquée tout au long de mon projet. Même si elle n'était pas forcée, je serais intéressé par la résultante de l'incohérence dans l'appellation que cela entraîne. - L'absence de documents/échantillons. Il y a certains de documentation et d'un seul échantillon. Toutefois, la documentation est juste une série de (vieux) les messages du blog et l'échantillon est basé sur la V2 de la bibliothèque (c'est maintenant sur la V4).
-
Étrange conception, dans les pièces. Par exemple, la journalisation est prélevée afin de ne pas prendre une dépendance sur un de journalisation. Juste assez. Cependant, depuis que j'utilise log4net (et pas NLog), j'aurai besoin de mon propre adaptateur. Je pense que cela va m'obliger à mettre en oeuvre
IRxUIFullLogger
, ce qui a une métrique criss c'est n'importe méthodes (plus de 50). J'aurais pensé à une bien meilleure approche consisterait à définir une interface très simple, et ensuite fournir les méthodes d'extension au sein de ReactiveUI afin de faciliter l'ensemble des surcharges. En outre, il y a cette étrangeIWantsToRegisterStuff
interface de l'NLog assemblée dépend, que je ne vais pas être en mesure de compter sur (parce que c'est une interface interne). J'espère que je n'ai pas besoin de ça...De toute façon, ma préoccupation ici est que l'ensemble de la conception de la bibliothèque. Quelqu'un a été mordu par cette?
- Je suis déjà en utilisant MVVM Light largement. Je sais que Paul a fait un blog où il explique que vous pouvez utiliser techniquement à la fois, mais mon inquiétude est plus autour de la maintenabilité. Je soupçonne il serait horriblement confus d'avoir à la fois mêlés dans la base de code.
Quelqu'un aurait-il les mains sur l'expérience avec l'utilisation de Réactifs de l'INTERFACE utilisateur dans la production? Si oui, êtes-vous en mesure de dissiper ou de l'adresse de l'un de mes préoccupations ci-dessus?