mardi 4 mars 2014

Why we should develop a multilayer application ?

One can ask why going into difficulties by multiplying the code layers. The answer might be quiet simple; it’s to make your life easier. We are at a time of great technological revolution where applications can no more live for themselves. Whether we face needs internal to a company or we are developing for a software editor we will need to share or to expose our code to other applications at one time or another. Our need can evolve in a great set of needs and future informations would have to be shared between layers of codes already written. If our application has been implemented as a monolithic block of code it could be very difficult to adapt it, and the only options would be to break the code that has been written so painfully or to write a brand new application. That’s why it is necessary to take good habits even if it can be a difficult process at the very beginning.

lundi 3 mars 2014

Une démo WPF avec le Pattern MVVM Light Entity FramWork 5 Unity Microsoft Moq

J’ai choisi d’orienter cette démo sur WPF mais ce principe de découplage permet de réutiliser facilement certaines fonctionnalités de cette application dans d’autres applications telles que Windows Form, Asp .Net Webform ou  Asp . Net MVC4.

Pourquoi WPF, tout simplement parce que ce FrameWork semble être l’orientation de Microsoft concernant les développements futurs pour les applications clients lourd, il est disponible pour les applications Windows traditionnels  Windows 8 et Windows phone. WPF permet de faire tous ce qu’on peut faire avec une application WinForm mais le XAML qui est le langage de description permettant le rendue de l’interface graphique étend ses possibilités à la limites de l’imagination des développeurs ou des désigner qui l’utilise. Cette richesse en termes de possibilités à un cout qui se traduit par une appropriation très difficile de cette plateforme quand on l’aborde avec un regard nouveau.





On peut se poser la question mais pourquoi se casser à la tête à vouloir compliquer les choses en multipliant les couches de code ? La réponse est simple, c’est pour se simplifier la vie par la suite. Nous sommes à une époque de grande révolution technologique ou les applications ne se suffisent plus à eux même. Que l’on soit face à des besoins internes liés à une entreprise ou que l’on développe pour un éditeur de logiciel on aura besoin de partager ou d’exposer certaines fonctionnalités vers d’autres applications à un moment ou à un autre. Notre besoin initial peut vite évoluer dans un ensemble de besoins et des informations futures devront éventuellement être partagées entre les couches de codes déjà écrites et nos nouvelles implémentations. Si notre application à été développée de manière monolithique il pourra s’avérer fastidieux de l’adapter et souvent l’option la plus simple sera de casser le code existant ou de réécrire une autre application.
 C’est pour cela qu’il est nécessaire de prendre de bonnes habitudes très rapidement même si cela peut s’avérer être douloureux…