March 4th, 2009
Casey Charlton started a mini-series on DDD a little while back. Now he’s created DDD Step by Step:
… This site is intended to consolidate some of the disparate information on the web regarding Domain Driven Design…
Definitely one to bookmark.
Posted in Useful info | Comments Off
March 1st, 2009
Thanks for all you comments. This release is based on your feedback, so please keep sending your comments. Download the latest version here.
Enhancements:
- Added PropertyGrid editor for unknown types (e.g. structs)
- Root entities can no longer be explored
- Top level nodes in Class Library treeview are now consolidated
- “Enter” now creates a new entity in Class Library
- Method buttons now have equal sizes
- Tweaked overall UI appearance (borders, padding, splitters, colours)
- Vertical splitter is removed if no methods are displayed
- Save action traces all affected entities
- Null EntityLists are now rendered with no grid lines
- Added “About Demo” window
- Added “Report a bug” option
- Trace log now saving in Zip compatible format
- “About” window now shows application information
- “About” window can be closed using Escape/Enter
- Failures in Query criteria no longer show dialog boxes (improved usability)
- Removed “Property was unchanged” message
- Clicking an empty area of the Actions panel hides Parameters listview
- “Edit Value” option is only shown in ‘Explorer’ mode
Fixes:
- Drag/drop now handles null EntityList properties
- Undo/redo now handles EntityLists
- Assembly resolve now handles upgrades/downgrades wherever possible
- Fixed “Collection modified exception” when resolving entity relationships
- Correction when identifying all parent entities
- Setting null values no longer attempts to create internal associations
- Corrected “Divide by zero” exception in memory calculation (for Vista64)
- Exceptions when invoking actions are only reported once
- Removing new instances from lists no longer causes ‘phantom’ dirty status
- Corrected “Paste new copy” functionality
- Action (method) button panel now expands correctly
- Application menu/toolbar are refreshed after clipboard operations
- Application menu/toolbar are refreshed after listview selection changes
- Corrected display of confirmation dialogs
- “Remove” item is now correctly enabled/disabled
- Corrected handling of ‘char’ editor
- Editors now change colour when they get focus
- Corrected change detection in ‘number’ editor
- File Editor now handles valid non-existing paths
- Added ‘IsMutable’ check when setting properties
- ValueObjects now share the same persistence details as their owner (Version, AccessDetails)
- Only critical exceptions are shown in a dialog
- Progress bar is not updated if form is disposing
- Trace message no longer appears when viewing an immutable object
- Saved Query filesnames now have 80 char limit
- Corrected NHibernate search queries for Component mappings
- Corrected NHibernate search queries for properties of same name, but different classes
- Corrected NHibernate search queries for subqueries of the same type
- Corrected re-hydration of saved Queries with multi-level subqueries
- All dialogs and forms are now disposed of explicitly
- Optimistic locking exceptions now show who modified the record, and when
Posted in New releases | Comments Off
February 11th, 2009
Casey Charlton is starting a mini-series about DDD. Should be interesting.
Posted in Useful info | Comments Off
January 5th, 2009
Happy New Year!
We’re starting the year with a new release.
BREAKING CHANGES
- Upgraded to NHibernate 2.0.1GA (with breaking changes)
- Added InnerList property to IEntityList
- Changed NHibernate namespace to NH
- Removed EntityListAttribute.IListField
Enhancements:
- ValueObject now implements IValueObject
- AccessDetails now implements IValueObject
- Copy operations use a different colour when dragging primitives/ValueObjects
- MyApplication.Save only persists dirty objects in the graph
- TrueView is now responsible for object graph ‘cascading’
- Added PropertyAttribute.BackingFieldName
- EntityList now uses IEntityList.InnerList for NHIbernate collections
- Added custom NHibernatePropertyAccessor to auto-manage all property types
- Renamed “Paste Duplicate” menu item to “Paste New Copy”
Optimisations:
- Improved Save performance
- Improved UI update after setting a property
Fixes:
- Fixed duplicate entries in object graph traversal
- “Save this” never attempts to save other objects in the graph
- Cloning now handles ValueObjects
- Corrections in Entity version tracking
- SetProperty now automatically uses IValueObject.Clone()
- AddToList now automatically uses IValueObject.Clone()
- Interface inheritance hierarchies now correctly identified
- C#3.0 auto-property backing fields now identified
- NHibernate query builder now uses class metadata to identify correct property name
- Context menu doesn’t show duplicate Paste items for primitive values
- Exceptions during form close displayed with “Retry/Cancel” buttons
- Correction when validating property relationships
TrueView DataBridge 1.3.0901.05
BREAKING CHANGES
- Upgraded to NHibernate 2.0.1GA (with breaking changes)
Enhancements
- Added MSSQLServer2005 (default option)
- Removed FieldNamingStrategy – it is now auto-computed
- Interfaces are now “Unmapped” by default
- Now uses NHibernatePropertyAccessor to manage EntityList properties
- Uses PropertyAttribute.BackingFieldName if available
- Generated properties now have IDENTITY/INDEX attributes set
Optimisations
- Disabled ‘cascade’ options (TrueView is now responsible for cascading)
- Disabled “Select-before-update’
Fixes
- Corrected filter when creating interface mappings
- Component mappings no longer include OID or AccessDetail properties
- Corrected AssemblyResolve for strongly named assemblies
Tags: nhibernate
Posted in New releases | Comments Off
December 8th, 2008
Listen to Scott Hanselman and Rob Conery discussing DDD in this podcast.
Posted in News items | Comments Off
November 11th, 2008
Download the latest version here.
Enhancements:
- Updated algorithm for identifying property backing fields
- Added support for saving multiple entities in a single transaction
Fixes:
- EntityLinker now handles relationships for super classes
- Corrected relationship tracking when using EntityLinker
- Corrected scope of internal members
Posted in New releases | Comments Off
October 27th, 2008
There are lots of questions in the DDD community about Factories and Repositories. TrueView now supports these concepts in a nicely decoupled way. Learn more in the user guide.
Enhancements:
- Added support for Entity factories using IFactory<T>
- Added support for Entity repositories using IRepository<T>
- EntityLinker now uses IEntity instead of Entity
- Added Min/Max range to MaximumSearchResults attribute property
- Added CanModifyContents attribute property to support “Aggregate Root”
- Added RequiresConfirmation attribute property to MethodAttribute
- Stripped System.Reflection.TargetInvocationException to make exception messages clearer
- Removed duplicate content from exception messages
- Log files are now saved in compressed format
- Added “Close All Windows” option
Fixes:
- EntityLinker now accesses collection properties to allow NHibernate proxies to initialise
- NHIbernatePersistence has better tracking of entity statuses
- NHibernatePersistence now wakes up before adding/removing items to lists
- MemoryCache now simulates versioning like NHibernate
- Corrected internal tracking of new instances within object graphs
- Corrected NHibernate query for “OR” operator
- Corrected NHibernate query for GUID values
- Improved persistence of unrelated object graphs (explicit UnitOfWork check no longer required)
- Guid is now recognised as a Value Type
- Window titles are now updated after a Save operation
- Toolbar is updated when the active MDI child is changed
- Splash screen no longer dominates the desktop at startup
- Correction when creating an entity within an aggregate
- EntityLinker now sets the dirty status of affected entities
TrueView DataBridge 1.23.0810.25
Enhancements:
- Now creates link tables for classes that don’t have foreign key references
Tags: factory, repository
Posted in New releases | Comments Off
September 6th, 2008
David Laribee discusses DDD and Bounded Contexts. Listen to the podcast here.
Update: Listen to part 2 here.
Posted in News items | Comments Off
August 8th, 2008
Added support for ValueObjects, as well as various bug fixes and enhancements. Download it here.
Enhancements:
- Added Evolving.TrueView.Domain.ValueObject to support “Value Objects”
- Added better exception messages when adding and creating entities within lists
- EntityList TreeNodes are now sorted by Summary value
- Added icons to Query Dialog buttons
- EntityAttribute.RelationShipType is no longer enforced by default
- EntityListAttribute.RelationShipType is no longer enforced by default
Fixes:
- Query Dialog now handles null/empty search values
- Fixed exceptions when saving using NHiberate
- Fixed formatting in RichText editor
- RichText editor now handles CTRL-ENTER
- Corrections to Evolving.TrueView.MyApplication.GetManager()
TrueView DataBridge 1.22.0808.25
Enhancements:
- Now creates link tables for classes that have 2+ EntityList<> properties of the same type
- Relationships can be explicitly defined between properties of 2 different classes
Tags: valueobject
Posted in New releases | Comments Off
June 17th, 2008
Writing scaffolding code to manage relationships can be quite tedious, so the EntityLinker was born. The EntityLinker resolves and updates relationships automatically – and is more intention revealing. Learn more about it in the user guide.
BREAKING CHANGES:
- AddItem and RemoveItem delegates are now available in IEntityList
- Changed IEntityList interface
Enhancements:
- Added EntityLinker to manage entity relationships
- Added better support for clipboard text formats
- Added UseOptimisticLock attribute to AccessDetails class
- Added InitialisedFrom() function to EntityList
Fixes:
- Manual UI refreshes are now done on the UI synchronisation context
- Added detection for IEntityList Add/Remove methods with multiple parameters
- Removed/renamed Search Queries are removed at the end of a session
- EntityList TreeModes are now sorted by name
- Backing fields are only identified for concrete classes
TrueView DataBridge 1.22.0806.17
Enhancements:
- Added support for ‘UseOptimisticLock’ attribute on properties & bags
Posted in New releases | Comments Off