HiTech Magic Ltd is proud to announce it is now an active member of StackOverflow.com.
This is a great opportunity to both hone our skills solving problems as well as contributing to the code community. Come join us there and answer, or ask, a coding question or two!
Our Avatar is Rincewind the inept “Wizzard” from a game we worked on many years ago (Discworld II). He represents our search for enlightenment in a very complicated world of computing The artwork for Discworld II (consisting of 50,000 hand-drawn animation frames) was produced for us by Hanna Barbera’s division in the Philippines. Our very best wishes go out to [Sir] Terry Pratchett.
The long awaited Prism 4 is getting closer to a release version. As of Aug 18 Prism is now at Alpha status.
We are actively working with the Alpha version now. Among other tweaks some libraries have been renamed and/or combined to simplify the namespaces. This will mean some revisiting of your project files, to remove old library references and add the new ones, but it will be worth it in the end!
Prism is a pattern of modular development, used to produce “very large” applications. The current platforms that Prism targets are WPF and Silverlight. Prism was developed by Microsoft and is available to the development public as an open source project here.
The basic premise of Prism is one of divide and conquer. The divide is cleverly performed by using loose coupling of modules (in English that means that modules know little if anything about each other).
Prism includes a practice referred to as Unity. The Unity container is responsible for providing interfaces to modules and objects on request and acts as the central port of call that modules use to communicate with other modules.
There is a very good set of videos giving examples of Prism on the Channel 9 site here.
The latest version combines a second practice known as MEF (Managed Extensibility Framework). This is another Microsoft produced open source project. MEF uses clever techniques to identify requirements in projects, at runtime, by analysing “import” and “export” directives that exist only in the Metadata of the project. MEF is designed to allow for a plug-in style environment, like the Visual Studio IDE.
We are now using Prism and MEF on a medium to large scale project that is expected to have a lifespan of many years.
We will post updates on techniques as we progress on the project. I must say it’s good to be back on hard-core Silverlight development after a spell of APS.Net development.