In this session we dove into the projects around Rhino. This talk was combined with another talk of "building production ready applications" but during the talk this topic did not come up much. Discussion seemed to stay focused on the code base(s).
Ayende went through the projects in the Rhino-Tools repository to describe what they do and their current state.
NHibernate Generics is no longer useful
NHibernate Query Analyzer (write HQL and see what happens) which is different from NHibernate Profiler
Projects in Rhino:
- NHibernate.Query.Generator (Built around 2005) - code generator using DSL - will be moving to deprecated folder within six months. This is no longer needed since LINQ
- Rhino-commons (production ready)
- Rhino-DSL (production ready)- codified patterns that can be used to create DSL quickly
- Rhino-ETL (production ready)- (extract transfer load) replacement for SSIS/DTS
- Rhino-Igloo - brought opinionated ideas to webforms (no tests with this code)
- Rhino-Mocks (production ready)
- Rhino-Security (production ready)
- Rhino-Testing - Automocking container
Rhino Commons:
- HttpModules/PagePerformanceModule - module which logs request durations for page URLs using Log4net
- TimeBombHack - allows you to put into code instead of //TODO:, this will cause the code to fail on certain date rather than a simple message in task list.
- FutureQuery - allows for self optimizing query
- FetchingStrategy - allows you to create interfaces that demonstrate intent
- Unit of Work - allows for multi-tenant applications. Allows session factories to work with multiple database
Rhino ETL:
- Replacement for SSIS in code
- Pipelines in code which allow which handle processing
Building Production Quality Code:
(As mentioned above, not much was discussed here in as we tended to stay around
- Catch and rethrow exceptions adding value and assitive messages to generic exceptions (Dru)
- How do you refactor when people are relying on your code:
- Downlevel client - handle older scenarios and new scenarios at the same time
- Versioning strategies - "it is always going to work" (backward compatiblity)public interface vs published interfaces
Comments (0)
You don't have permission to comment on this page.