As per my earlier blog post, this morning I attended the “Solving the Packaging Puzzle” featuring Ian Cooper (@ICooper) and Sebastian Lambla (@serialseb).
This talk was split into two parts.
The first was the “theory” behind Packages and this was handled by Ian. This included a description of what a “package” is and how we can write our code in such a way as to lend itself for easier package creation.
The second part of the talk was handled by Sebastian, with a “real world” demo of creating a Web Site (using OpenRasta) adding functionality, splitting this functionality into a separate project, packaging the re-usable code and including it in the original Web Site Project. All of this was handled using OpenWrap.
A lot of the concepts that were described in the first part of the session were not news to me, but they are also not something that I have fully utilised. This is mainly because of my lack of full understanding of how everything pieces together. Ian went into great detail on things like:
- Modular Decomposability
- Modular Composability
- Modular Continuity
- Modular Protection
- Direct Mapping
- Few Interfaces
- Small Interfaces
- SOLID code principles
And how these can be used to ensure that the code base is constructed property.
These are all topics that I have heard about, but never fully put into practice. If nothing else, this morning talk has highlighted that I “need” to read up on these topics. Ian has recommended two books:
Object-Oriented Software Construction
and
Agile Principles, Patterns, and Practices in C#
Which I am going to have to add to my growing list of books that I have to read.
I got a lot out of the “refactoring” that Sebastian showed in his demonstration of how you can put all the theory into practice. And although the demonstration didn’t go as “smoothly” as I think Sebastian would have liked, for me, it really did hammer the point home.
I have never used OpenWrap, only Nuget. I would be interested to hear from anyone who has used both. Likes? Disklikes? etc.
All in all, a very good start to the Progressive .Net Tutorials, and I am looking forward to the remaining five sessions.
comments powered by Disqus