My house will look like a bookstore soon
I've been reading & ordering too many books lately … lol
(Guess it's gonna slow down soon, our most awaited friend 'Sun' is finally coming back to Belgium, my lovely rainy home-country. No wonder why beers are so popular here.)
In case you missed them, here is a quick list of some highly recommended books:
- Domain-Specific Development with Visual Studio DSL Tools: Good read to discover Domain-Specific Development with Visual Studio.
- Programming WCF Services: another masterpiece from Juval Lowy. Cautious: This is a tough read, not an introductory book. But it will surely help you appreciate the design of WCF in all its glory (am I exaggerating ?). Also, if you have the opportunity to attend Juval's stellar presentation 'Beyond the endpoints', don't hesitate 1 second: it was an enlightening experience.
- Patterns of enterprise application architecture: Not new, but you'll find yourself often coming back to it as it provides so much insight about the design of so-called 'enterprise applications'. Don't call yourself senior .net developer or architect if you haven't read it yet
- Java persistence with Hibernate: Yeah, I said 'Java' & 'Hibernate' … why ? because if you wanna know (mostly) everything about persistence with an ORM tool, that's the book. You can then learn any other ORM in 5 minutes.
Other books as recommendable as the previous, that I have at home but haven't read yet (and will read asap lol):
- Release It!: Just received it today, and by looking at the back cover and table of contents, I wish I had read it several years ago. One advice: Read It!
That's what I'm going to do …
- Visual Studio Extensibility: The perfect companion for Domain-Specific Development with Visual Studio if you want to create DSL that are highly integrated into VS. I'd like to know more about that Visual Studio 2008 Shell also … looks promising.
- Essential Windows Workflow Foundation: Wanna gain more insight about the design of WF? Everything's in here.
- Framework Design Guidelines – Conventions, Idioms, and Patterns for Reusable .NET Libraries: Do I have to say that it's a must-read for any framework-developer ? Shamefully, I haven't read it yet. Gonna fix that.
Well … gotta go, I have 4 books to read
You are using an Inversion of Control container for your application components and you are exposing some services through WCF. Wouldn’t it be nice if you could host those services in your container and benefit from Dependency Injection ?
Well, that’s easy if you’re using Castle Project‘s Windsor container: just register the WcfIntegration facility and you’re on track:
- Public properties or Constructor arguments will automatically be injected by the container.
- Any component registered in the container that implements the IServiceBehavior or IOperationBehavior interfaces will be easily applicable to your WCF services.
Similarly, there is also a Workflow Foundation integration facility that provides the following functionalities:
- Host the WorkflowRuntime engine in the container, making it available for any workflow-aware components.
- Automatically add to the WorkflowRuntime any Workflow services (components inherited from WorkflowRuntimeService base class) or External Data exchange services (components with ExternalDataExchange attribute).
Hope one finds that interesting …
For those who are interested in Domain-Specific Languages (anybody reading this blog except myself?), there are a couple of interesting news this week:
As a side note, the feature I’m eagerly awaiting in the next version of the DSL Tools is the DSL extensibility one. Imagine being able to extend your base DSL model using plugins, whether it be classes, properties, rules, validations … this opens up a whole new world.
For one of my current project in which I need basic extensibility, I tried to mix the System.Plugin framework with the DSL Tools … I stopped during the process, too complex, too heavy, and used a simpler Provider architecture instead. For more advanced scenarii, I’ll wait for the new model provided by Visual Studio codename “Rosario“.
Those are the technologies I will definitely try to master in 2008, because they add a real value to the art of software development and allow developers / architects to work at a higher level (less dirty code on the hands lol):
1. Visual Studio DSL Tools : I recently got interested in Domain-Specific Development especially with the wonderfull Visual Studio DSL Tools. Definitely have to practice this more. Guess I will order the book 'Domain-Specific Development with Visual Studio DSL Tools'.
2. WCF : The great (r)evolution that Microsoft delivered as part as .Net 3.0. Any .Net developer should know about it. Need to finish the book 'Programming WCF Services'.
3. WF : The 'unknown sibling' of WCF. I already have some advanced practice with that one (advanced custom activities) as I had a course & used it on a project for several months. Still have to finish reading the book 'Essential Windows Workflow Foundation'.
4. Linq : Definitely need to check the inner workins of Linq to gain a better understanding of it and be able to use it correctly with abstract Repositories & ORM.
5. DDD : Already got a good knowledge of that one, but I want to become an expert as it is gaining more & more popularity as well as visibility while Microsoft is adopting it slowly but surely (Linq to SQL, Entity Framework). 'Applying Domain-Driven Design and Patterns: With Examples in C# and .NET' is a real eye-opener on the subject.
Well, it seems that my schedule for 2008 is already full
lol