jenswinter.com
Software Development 24/7

Kostenloses eBook Tutorial über ASP.NET MVC

March 13, 2009 20:00 by Jens

ScottGu verkündete diese Woche, dass ein Kapitel seines Buches über ASP.NET MVC kostenlos als PDF verfügbar ist.

Es kann hier heruntergeladen werden. Der Quelltext der Beispielanwendung “Nerddinner” ist auf Codeplex veröffentlicht.

Na da weiß ich ja, was ich dieses Wochenende tun kann. :)


.NET Domain Driven Design with C#

May 18, 2008 21:09 by Jens

This weekend I received a copy of Tim McCarthy's ".NET Domain Driven Design with C#". I was waiting eagerly for this book. Special thanks go to my boss for sponsoring it. Smile

As I haven|t read the book yet, I cannot give a review. So I will leave the text of the back cover here:

"As the first technical book of its kind, this unique resource walks you through the process of building a real-world application using Domain-Driven Design implemented in C#. Based on a real application for an existing company, the project featured throughout the book focuses on the Domain Model and the framework that is being built to support it. Each chapter is broken down into specific modules so that you can identify the problem, decide what solution will provide the best results, and then execute that design to solve the problem. With each chapter, you'll build a complete project from beginning to end, offering you indispensable, hands-on practice at creating code that builds applications. What you will learn from this book  

  • When, why, and how to use Domain-Driven Design
  • How to design and build the initial Domain Model
  • What to do to achieve "Persistence Ignorance"
  • Ways to build a Repository framework for the Domain Model
  • Techniques for applying TDD to the Domain Model
  • How to apply the Model-View-ViewModel Pattern
  • How to build a client-side membership system
  • What to do to synchronize the client application with the server
This book is for experienced C# .NET developers who want to improve their techniques for writing applications that perform well and are highly scalable."


Since we are currently starting a brand new WPF project that will cover all of the things that come in the book, it arrived just in time. Cool And I hope it will be a good help for us.


Quote of the Day #2

July 17, 2007 22:12 by Jens

From “The Mythical Man-Month” by Frederick P. Brooks, Jr.:


„The bearing of a child takes nine months, no matter how many women are assigned.“

 
This picture shall describe the fact that adding additional man power to a task doesn’t affect the schedule. This is true for tasks that cannot be partitioned.

 
In fact, I have seen projects were additional men were thrown in and the schedule got even worse. One reason for this is that the quality of communication goes down. But good communication is the single most important factor for the success of a software project.

 
If you sense problems with your schedule the first thing to do should be to find where that comes from. Consciously watch out for ways to improve communication. Always favor face-to-face communication over using a bug tracking system, instant messaging or email. See if there are other obstacles that get in the way of communication. Getting rid of unnecessary office walls or installing an additional whiteboard can have a huge impact.

 
Other ways to improve the quality of a team is to train the members, providing better tools and improving the development process.

 
Only then should you consider adding more resources in terms of man power. But remember that it will take some time until new team members come to full speed.

Brooks: "The Mythical Man-Month"

July 2, 2007 22:11 by Jens
Finally I hold a copy of Frederick P. Brooks' book "The Mythical Man-Month" in my hands.
It was recommended to me from many sides.

"The Mythical Man-Month" is a book about software project management. What's so special about it is the fact that the first edition came out in 1975. From what I've read I would never have guessed that this book is over 30 years old. It is hard for me to imagine how software development was like back then. But, reading this book tells me that it wasn't very different. The issues and problems are still the same.

Picked from the book here are the five reasons of why programming is fun:
  1. Sheer joy of making things, especially things of his own design.
  2. Pleasure of making things that are useful to other people.
  3. Fascination of fashioning complex puzzle-like objects of interlocking moving parts.
  4. Joy of always learning.
  5. Delight in working in a tractable medium.
Great!

Jimmy Nilsson at DotNetRocks!

August 21, 2006 21:49 by Jens

A couple of days ago I sent a mail to the guys from DotNetRocks. I asked them to invite Jimmy Nilsson to the show. (I'm a huge fan of his book "Applying Domain-Driven Design and Patterns")

And here is their reply:

If you check out the "Coming Up..." section on http://dotnetrocks.com/ you'll see that we are INDEED having Jimmy Nilsson on the show August 29th.

Man, I am so excited! Thank you, Carl and Richard!


Book: Applying Domain-Driven Design and Patterns

June 22, 2006 21:47 by Jens
Two weeks ago I received my eagerly awaited copy of Jimmy Nilssons "Applying Domain-Driven Design and Patterns" (ADDDP). I can say that this book exceeds my expectations.
Although I'm only half-way through I feel the urge to write a short review.

ADDDP is a book that provides a comprehensive guide of how to apply modern programming techniques like Domain-Driven Design (DDD), Test-Driven Design (TDD), Patterns and Refactoring. It is based mainly on the work by Eric Evans (Domain-Driven Design). A wide range of patterns are discussed throughout the book. Besides the classic Design Patterns by the Gang of Four, Martin Fowler's Patterns of Enterprise Application Architecture (PoEAA) plays an important role.
One can say that Jimmy Nilsson connects those practices with his work in an excellent way. I like his style of writing. The topics are very technical, but Jimmy's explanations are not academic at all. And he also isn't afraid of repeating things. Things that are important during developing with DDD, TDD and Refactoring.
The book shows effectively how to build a model around the problem domain. While reading you can "feel" how the development process is driven by the problem domain.
One thing about his writing style that attracted my attention is that Jimmy actively slows the reader down. You can often read something like "we will take a step back" or "I leave it like this for now". While this reflects the style of developing in an agile manner, it also produces an interesting side effect: The reader is always given enough time to understand the different techniques. This way everything is very easy to follow.

There is one thing I didn't like very much. Throughout the book Jimmy Nilsson uses notes to give background information about a preceding statement. While this is a common writing style, it is used a too often in my opinion. These notes have been a little bit distracting or disturbing for me from time to time.

What I especially love are the hand-drawn UML diagrams. Although I can't really tell why. :)

The subtitle of the book is "With Examples in C# and .NET". I suppose this is a marketing desicion by the publisher. :) And I hope this doesn't affect the sales figures of the book negatively. ADDDP is completely applicable for any other object oriented languages and programming platforms.

Here's a list of covered topics (from back cover):
  • Quick primers on patterns, TDD, and refactoring
  • Using architectural techniques to improve software quality
  • Using domain models to support business rules and validation
  • Applying enterprise patterns to provide persistence support via NHibernate
  • Planning effectively for the presentation layer and UI testing
  • Designing for Dependency Injection, Aspect Orientation, and other new paradigms

Buchempfehlung: Pro ADO.NET 2.0

January 22, 2006 21:31 by Jens
Ich lese momentan das Buch "Pro ADO.NET 2.0" von Sahil Malik. Und ich kann sagen, dass das Geld dafür sehr gut investiert war. Es wirklich hervorragend. Auf dem Frontcover des Buches steht ein Satz, den ich zunächst für ziemlich vermessen hielt: "The only ADO.NET book you will ever need." Naja, was soll ich sagen. Da könnte was dran sein...

Man merkt, dass Sahil (MVP C#) wirklich Ahnung vom Thema hat. Der Schreibstil ist sehr locker und macht es leicht, auch komplizierte Sachverhalte verständlich zu vermitteln. Der Aufbau ist sehr übersichtlich gestaltet. Mit vierzehn Kapiteln ist es weder überladen, noch zu oberflächlich. Trotzdem schafft es Sahil, ziemlich detailliert die Abläufe und Internas von ADO.NET 2.0 zu beschreiben.
Sämtliche Beispiele werden begleitet von C#- und VB.NET-Quelltext. Ob diese durchgängig doppelten Quelltexte in den beiden Programmiersprachen notwendig sind, darüber lässt sich streiten.

Inhalt:

 

  1. Introduction to ADO.NET
  2. The ADO.NET Object Model
  3. ADO.NET Hello World!
  4. Connection to a Data Source
  5. Retrieving Data in a Connected Fashion
  6. DataSets
  7. Fetching Data: The DataAdapter
  8. Sorting, Searching and Filtering
  9. Updating Data
  10. Updating Data: Advanced Scenarios
  11. Transactions
  12. XML and ADO.NET
  13. The CLR in SQL Server
  14. ADO.NET Best Practices


Book: The Pragmatic Programmer

March 5, 2005 11:03 by Jens

Today I received my copy of "The Pragmatic Programmer" by Andrew Hunt and David Thomas. And what I have seen so far is a book that is absolutely worth the money. So what is this book for? The purpose of the book is summarized with the very first sentence of the preface:

This book will help you become a better programmer.

In fact the book addresses very basic problems and issues. The authors give tips and discuss them throughout the book. It is very easy, basic and valuable material.


Updated bookshelf

December 21, 2004 20:37 by Jens

Today I updated my bookshelf. I'm currently reading two books:

I can say that both books are true gems. I can hardly put them down.

In order to read and understand "Refactoring to Patterns" you should have read "Design Patterns" by Gamma et. al. and "Refactoring - Improving the Design of Existing Code" by Martin Fowler. One can say that Refactoring to Patterns is a bridge that connects these two books.