Jesper Boeg on Priming Kanban
In this interview, Jesper Boeg, author of the new InfoQ book – Priming Kanban, discusses the keys to using Kanban effectively, and how to get started if you are currently using other approaches.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Abel Avram on Aug 20, 2009
James Gregory, the owner of the Fluent NHibernate project, has announced his project has reached the 1.0 milestone and it is currently a Release Candidate.
The Release Notes mention the following features and improvements in the mapping section:
- Cleaned up method names - Removed a lot of noise in method names, such as WithLengthOf is now just Length; ColumnName to Column, WithTableName to Table etc...
- Removed SetAttribute - SetAttribute was a stop-gap measure to allow people to use Fluent NHibernate when we didn't support the attributes they needed. We've now gone to a great length to support all of the main attributes in the fluent interface, so you shouldn't need this anymore. If there are any attributes you need that we've missed, let us know (or even better, send us a pull request/patch)
- Separated subclass mapping - Subclasses can (and should be) defined separately from their parent mapping. Use SubclassMap<T> the same way as you would ClassMap<T>; if the top-most mapping (ClassMap) contains a DiscriminateSubclassesOnColumn call, the subclasses will be mapped as table-per-class-hierarchy, otherwise (by default) they'll be mapped as table-per-subclass.
See subclasses for more info.- Renamed the static entry point -
AutoPersistenceModel.MapEntitiesFromAssemblyOf<Product>was always a bitwordy, it's been renamed toAutoMap.AssemblyOf<Product>- Components - Improved support for components in automapping. They still work the same as before but now have support for all the collections and things they should have.
See components for more info.- IgnoreProperty for all types - You can now use IgnoreProperty against multiple types, instead of on a per-entity basis.
See ignoring properties for more info.
In the conventions section we find:
- Always applied first - They're now applied before any of your explicit settings in your ClassMap. This means that there's no accidently overwriting your mappings.
- Always apply by default - Conventions used to have an Accept method that most people just either returned true, which meant apply to everything, or checked if a value had been set in the ClassMap; considering the above change, this meant Accept was mostly redundant. Conventions now always apply to everything. If you don't want that, there's an IClassAcceptance (and equivilant for other conventions) interface to add this behavior
- Acceptance Criteria - For when you do need an Accept defined, there's a new criteria API for defining it in a much more consistent manner.
See acceptance criteria for more info.- ForeignKeyConvention - Base-class provided for setting the foreign-key naming consistently across the whole of your mappings.
See ForeignKeyConvention for more info.- ManyToManyTableNameConvention - Base-class (and defaults) for setting the table name of many-to-many's. This is much smarter than it was before, no overwriting explicit settings, support for bi-directional relationships.
See ManyToManyTableNameConvention for more info.
Gregory hopes the project won’t stay long as RC considering the amount of testing already put into it.
Fluent NHibernate offers an alternative to using XML by providing fluent mappings through C# code. It also provides auto-mapping which uses a mechanism creating the mappings directly from entities. A quick introduction to Fluent NHibernate can be found on InfoQ/Fluent NHibernate. More details are available on Fluent NHibernate Wiki page. The Downloads page contain both the sources and the binaries for those who want to try it out.
Fair Trade Software Licensing - A Guide to Neo4j Licensing Options
Getting Started with Stratos - an Open Source Cloud Platform
Using Drools? See what you're missing! Get the Power of Drools with the Assurance of Red Hat
In this interview, Jesper Boeg, author of the new InfoQ book – Priming Kanban, discusses the keys to using Kanban effectively, and how to get started if you are currently using other approaches.
John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.
Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.
Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.
Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).
Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.
Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
1 comment
Watch Thread Reply