May
13
2008
In the second part of the Castle demo application tutorial, we look into the basic features of Castle’s powerful Model-View-Controller system, called Monorail. Monorail is based on Ruby on Rails, and brings two very important features to .NET web development:
1. Good separation of concerns between the domain model, workflow logic and the user interface: this allows us to unit test larger portions of web applications, makes the code more reusable and gives us flexibility for the user interface.
2. HTTP request/response plumbing, allowing us to be much more productive when developing web pages: Monorail will automatically convert HTTP request data into strongly typed function parameters, even domain objects; it provides an infrastructure for aspect-oriented request handling and reacting to errors. That allows us to focus on the business logic of the web application and skip writing boilerplate web code. Continue Reading »
May
07
2008
Castle project is a great .NET enterprise application framework. It helps us develop .NET applications and web sites by providing the plumbing and making it easy to test the most important parts of the system. I’ve decided to build a demo application with the Castle project for an internal training session, to show how easy it is to work with this framework and to demonstrate the best practices. I will post the tutorial in parts on this web site as I develop it. In the first post, we work on the object-relational mapping with ActiveRecord and write unit tests for the database mapping layer. Continue Reading »
Mar
24
2008
I’ve finally completed the first version of my Fixture Gallery idea. Fixture Gallery is a cookbook for FIT/FitNesse tests. It provides developers with a quick overview of the most important fixture types and concepts for agile acceptance testing using the FIT framework. For each fixture type, this document explains the table format and fixture class structure and provides advice when to use and when not to use it. Each example is accompanied by the source code for Java and .NET FIT implementations, in a form that can be easily copied and used as a template for similar fixtures. Download the first release.
Dec
20
2007
I started compiling a list of Oracle SQL and PL/SQL bad practices, with the intention of producing a comprehensive catalogue of common and recurring programming mistakes, that can be used as a check-list for code reviews or given to junior developers. I have identified about 30 bad practices so far. For each bad practice, I provided a list of symptoms in the code, an explanation why it causes problems and a list of preferred solutions.
My goal with this list is primarily to start a discussion about similar recurring issues that other people have noticed. That discussion should lead to a more complete list which the community will then be able to use, hopefully, to learn something from the mistakes of others and to produce better code.
You can download the first version of the catalogue in PDF form from http://gojko.net/effective-oracle.