WIA304 – Building line-of-business applications fast with Microsoft Silverlight and Microsoft.Net RIA-Services
Building WPF, Silverlight applications relies on an asynchronous model which means lot of plumbing code to get things up and running. The goal of RIA-Services is to take away a lot of the plumbing, making it easier for you as a developer to build apps. RIA-Services are a separate download besides VS2010 and will be made available just around the time VS2010 is released next year around 22th march. The download contains several templates to get you started right out of the box. If your not that picky about separation of concerns you can expose you entity model via RIA services effectively augmenting you domain and creating a quick to use datasource for you silverlight applications. In your silverlight designer RIA Services are exposed as selectable datasource to databind against.
DEV402 – Dynamic in Microsoft C# 4.0: The why’s and How’s
C# is a solidly static programming language, and proudly so. Many objects in the world are more dynamic though, whether originating from COM, JavaScript, Python or other places. Interacting with that world from C# used to be painful and error prone, but C# 4.0 takes the plunge and provides deep integration of dynamic binding into the language. What are we doing, why do we do it like that, and why is it still safe?
Everyone who has used reflection has come across problems where he/she tried to invoke a method on a class but misspells the method name and you whished they could’ve checked this at compile time. Well dynamics is not going to solve that problem, but it is solving the readability of you code as shown in the picture. And readability is something we are all interested in!
With the increasing popularity of Silverlight would it be nice if the HTML model and the Silverlight object model would be easier to type, Mike Taulty's has a nice blog post showing of the dynamic type.
Alex Turner had one great takeaway to put dynamic in perspective if you miss IntelliSense you have gone to far!
DEV313 – Architecture discovery and validation with Microsoft visual studio 2010
Visual Studio 2010 comes with tools to visualize the architecture of existing code, to identify layers and their dependencies, to then say how you want those dependencies to be, and then to validate your code against the desired architecture. Validation can be done in the tool and from build tasks, so that check-ins can be gated by validation rules, for example. What I like about the tooling is that is works with zoom able graphics no generated static picture neat stuff and all is clickable. All generated graphs are readable by all versions of VS2010 but only the ultimate version will have the ability to generate these graphs. Basically VS2010 has the following capabilities summarized
- “Understand The Code”
- Architecture Explorer
- Sequence Diagram Generation
- DGML Graphs and “Standard” Graphs
- “Understand The Domain”
- UML 2.x Designers
- Modeling Project & Explorer
- “Maintain Control”
- Layer Diagram & Custom MSBuild Tasks
- Work Item Integration
- Extensibility
WIA307 – Cool graphics, hot code: Ten visual effects to make you the envy of your peers
Well in the presentation we didn’t exactly cover all the ten visual effects, but the ones that were shown were awesome. Of course some of the effects we have seen before like coverflow, reflection, deep zoom but what we didn’t see is the code that made the effect possible. Jeff Prosise took us by the hand and showed us the awesomeness of his demo’s code. Just check out his website and download the demos.
ARC401 – Flexible Design
It is a greater purpose to develop applications that can be modified as we go from development to maintenance, and it is better to build extensible solutions than to code a big ball of mud. But how? Dependency Injection, Inversion of Control and POCO. Well so much for the intro in the session, but I didn’t like the speaker nor the way he presented his examples, lots of code and no overview. In the intro of his presentation he explained the open doors like SOLID, DRY and YAGNI went on about the patterns that help you achieve a flexible design like the common service locator and dependency injection. He also showed of a pattern he would like to call the common service configurator which makes it easier to bootstrap your configuration which was pretty cool and flexible. Although I am not a convert when it comes to flexible design, simply because adding flexibility is adding a layer of abstraction and to much abstraction can be difficult to maintain.