.net alternatives

by Michel Grootjans
posts - 66, comments - 121, trackbacks - 1

My Links

News

Shelfari: Book reviews on your book blog

Twitter












Archives

Post Categories

Starting up a new project

We're nearing the end of our second iteration on a new project. I started out by setting myself a few goals to explore. I'd like to write them down here, so I can come back in a few months to see what remains of them. You're welcome to comment on these goals.

Overall
- readable, intent revealing software
- DRY, YAGNI, BOYSCOUT et all...

Entities:
- IAggregate root has interface
- No ID (I'm not sure if I can pull this one off with NHibernate)
- No (public) setters except for things like name, description, ...
- State based tests
- Testdata: take a look at NBuilder

Services
- almost no logic
- infrastructure: queries, mapping, ...
- hosted in spring.net
- Behaviour based tests

Controllers
- no logic
- only view concerns
- choice of view to render
- navigation (redirect)
- forward call to service
- Behavior based tests
- hosted in spring.net

Repository
- only handles aggregate roots
- only the following methods: add/remove/query

Queries
- Separate query objects that get passed in the 'query' method of repository
- Preference in this order: LinqToNH, Criteria, HQL
- Integration tested

Security
- RhinoSecurity?

WCF
- Service hosting in Spring

Testing
- Heavy emphasis on readability
- Intent (test) Driven Development
- Fitnesse first (red), then unit test(R=>G=>R), integration test (R=>G=>R), Fitnesse green

  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati

Print | posted on Wednesday, January 27, 2010 11:58 PM |

Feedback

Gravatar

# re: Starting up a new project

Great goals and good luck.. I had been trying to adopt atleast some of these but always have struggled with how to start. May be your blog will throw some light..
1/28/2010 1:14 PM | Magesh
Post A Comment
Title:
Name:
Email:
Website:
Comment:
Verification:
 
 

Powered by: