Oct
18
2010

MEF (Managed Extensibility Framework) in .NET 4.0

What is MEF (Managed Extensibility Framework). MEF (Managed Extensibility Framework) in .NET 4.0For example you have an accounting application and you would like to provide a hook (socket) where external vendors can connect (plug) and add invoicing capabilities to the accounting application. For instance you have application which you would want different vendors to connect with their features and extend your application. So the vendors just put the components in the application, the application discovers them and does the connection and extension. The Managed Extensibility Framework (MEF) is a new library in .NET that enables greater reuse of applications and components. Using MEF, .NET applications can make the shift from being statically compiled to dynamically composed. If you are building extensible applications, extensible frameworks and application extensions, then MEF is for you. More...


Oct
1
2010

MVVM and Service Agent

Today I found very nice article about MVVM pattern and realization of it with Service Agent. Dan Wahlin's in his web log. This solution can help to develop good and testable ViewModel part with help of third class called Service agent which is injected in the main ViewModelBase class. The MVVM pattern defines three key parts including the Model, the View and the ViewModel. The following image shows a slide from a Silverlight course run that sums up the role of each part of the MVVM pattern in a concise way. More...


Sep
24
2010

What software architect should know?

What things Software Architect should know? Effective Java was the first book I’ve read whose table of contents had read like programming commandments. The rest of the book provided commentary and examples, but the section headers read like axioms to program by. I found a similar book in 97 Things Every Software Architect Should Know. 97 Things is a collection of 97 short essays from a number of architects on topics such as soft skills, leadership, and software architecture. The table of contents for 97 Things also reads like commandments or axioms. 97 Things Every Software Architect Should Know is a collaborate effort from numerous contributors. The project wiki is available here. Below are 101 axioms taken from the different essay titles from the project. The axioms have been rearranged from the original order provided online to provide context, and in cases edited for legibility. More...


Sep
20
2010

MVVM (Model-View-ViewModel) design pattern

Model-View-ViewModel  is a way of creating client applications that leverages core features of the WPF platform, allows for simple unit testing of application functionality, and helps developers and designers work together with less technical difficulties. The classes in the MVVM Foundation are time-tested tools in the toolbox of many WPF developers around the world. Now they all live in one convenient project. MvvmFoundation.Wpf. The source code download also contains a set of unit tests and a demo application, which show how to use the classes. If you want to learn more about MVVM be sure to read Josh Smith's Advanced MVVM book. More...


Sep
17
2010

Inversion of control (IOC containers) .NET IOC patterns

IoC is not a new concept, however. It has been around for several years now. Using object-oriented design principles and features such as interface, inheritance, and polymorphism, the IoC pattern enables better software design that facilitates reuse, loose coupling, and easy testing of software components. This article discusses IoC and demonstrates how to use this pattern in your software design without having to implement any of the open source frameworks. More...


Author - Agafonov Viacheslav

Agafonov Slava site

Hello world! My name is Agafonov Viacheslav. I'm a software engineer at Microsoft located in Bellevue next to Redmond campus and Seattle downtown, state Washington. I was born in Ukraine. My passion for programming is in my ability to create tools that make people's lives easier.

Vyacheslav Agafonov profileAgafonov blog Agafonov Slava on Twitter Counter.com

Month List

Disclaimer

The opinions and information that expressed here do not represent my employer's view in any way. Information in this blog is my own opinion and does not reflect on employer. Content on this site is licensed under a Creative Commons 3.0 license.

Advertise with me!