Children
Children Display |
---|
Contents
Table of Contents |
---|
One class per .cs file
Why? Because your checkins are much clearer and it confuses because in most files this is the case
When? Nearly always
Except...you have a lot of really small classes with tight coupling to play some test scenario. Then it might be clearer to have them together.
Hibernate
Hibernate mappings next to your .cs files*
Why?
To make finding hbm files easy for everyone
When? Always.
Except..There are some 'old' mapping files (DelftTools.hbm.xml and SharpMapGis.hbm.xml). Then convention is not applied there yet.
Aspect Oriented Programming
- NotifyCollectionChange
- NotifyPropertyChange
- Event bubbling
- add your questions here
Recommended Plugin Project Layout
No Format |
---|
DeltaShell.Plugins.DemoPlugin/ Domain/ Animal.cs Animal.hbm.xml AnimalExtensions.cs Bear.cs BearProperties.cs Bear.hbm.xml Lizard.cs Lizard.hbm.xml Models/ ForestLifeModel.cs Forms/ AnimalControl.cs AnimalControl.Designer.cs AnimalControl.resx ForestLifeModelView.cs ForestLifeModelView.Designer.cs ForestLifeModelView.resx Uml/ Animals.cd DemoPlugin.cd DemoPlugin.cs DemoPluginPropertyProvider.cs DemoPluginDataProvider.cs DemoPluginViewProvider.cs |
Views
When view is created for a specific data object, this object is injected via the view's Data property. View checks if data is correct and subscribes to the object's events.
...