25. September 2006 07:12
One of the many things that have kept me busy during my first months at Microsoft was producing content for MSDN Solve. It is a new section on the German MSDN portal that aims to provide solutions (read “how do I?” as opposed to “why do I?”) for developers trying to get their feet wet with .NET development. After much discussion and thinking, the team decided to produce a format called “CodeClips”. That's pretty much like a recorded 20 minute web cast that focuses on a showing how to handle a very specific .NET development task. And watching CodeClips pays off: You can get a Visual Studio 2005 Standard Edition for free! Get the details here. Note that German language skills are mandatory.
One of the goals of MSDN Solve is to provide interesting content for Java and PHP developers interested in ASP.NET. Thus, the team asked me to cover the Java part. Alas, providing content that appeals to every Java web developer is incredibly difficult. Unlike ASP.NET or PHP, there's really no such thing as Java web development. There is Java web development using JSF. There is Java web development using Struts. There is Java web development using Spring Web MVC. There is Java web development using Tapestry. The list goes on, and on, and on. The lowest common demoninator is not even JSP, it's Servlets. That's why I tried to show how to implement typical web application components like a compression filter or the Synchronizer Token pattern in ASP.NET, because these are canonical Java web development examples without any bias for a particular framework. I'm going to blog more about my CodeClips during the next couple of days.
If you have any questions or feedback reagrding my CodeClips, feel free to contact me via firstname.lastname@example.org. The guy who runs the show is Daniel Walzenbach, and he blogs at http://blogs.msdn.com/walzenbach/.
6. March 2005 09:20
Every once in a while, colleagues and devs I meet ask me about my favorite books on various topics. One of these topics is software architecture. Good software architecture in turn is based on sound design principles. So here's a list of my favorite books that shed light on both of these topics.
Robert C. Martin: Agile Software Development
Have you ever heard of the Single-Responsibility Principle? Do you know the Open-Closed Principle? What about the Liskov Substitution Principle? No idea? Read this book. Not only does it explain all of these and a lot more, which I consider a must know for any serious software developer, this book will also introduce you to some sound agile practices without getting lost in XP religion.
Martin Fowler: Patterns of Enterprise Application Architecture
This book is probably going to be the seminal work on patterns for enterprise application architecture, pretty much in the same way the Gang of Four book became the be-all, end-all of books on basic software design patterns. It also includes code samples for both Java and C# (i.e. J2EE and .NET), which is still pretty unique as far as I can tell.
Steve McConnell: Code Complete 2nd Edition
This book covers a lot of ground. It's not only about design and architecture, but about the art of Software Construction in general. Even if you don't care about Steve's analysis of code layout, naming conventions and such, the introductory chapters on design and architecture are awesome.
Rod Johnson, Jürgen Höller: J2EE Development without EJB
This book complements Rod's earlier book J2EE Design and Development by explaining the fallacies of EJB and how the core principles of the Spring framework and other lightweight alternatives to EJB try to remedy them. It's not a Spring programming manual, but rather a compilation of post-EJB 2.1 techniques.
PS: The fact that these links go to Amazon doesn't mean I'm getting paid for it