I just released a new version of the Software Is Hardwork Library. This release contains many major and minor changes. Major highlights include:
- Core
- Removed Fact`1, IPersistenceObjectFactory, PersistenceObjectFactory, Rule`1, RuleMethodAttribute, and Violation`1, Widgets\*
AsmInfo, CommandLineException, CommandLineParameter, (I)ListItem et. al, Pager, ProgramBase, Tokenizer from Core. - Added XmlFilePersistenceObject`1.cs to Core.
- Refactored remaining Core\Utility classes to be interface-based.
- TransparentProxyFactory`1 renamed to ProxyFactory`1; no more remoting specific code.
- Move InvokeOnObject and InvokeOnDisposable to new abstract class ClientDynamicInvoker in Core.
- Added DependencyManager and supporting types for a simple dependency injection solution.
- Database
- Rename IDatabase to ITableDatabase.
- Rename IDatabaseEx to IObjectDatabase.
- DynamicDatabaseClient now inherits ClientDynamicInvoker instead of implementing IInvokeDynamic.
- IObjectDatabase methods returning IEnumerable`1 now returns IList`1.
- Removed GenericConnectionFactory`1 in favor of TypeConnectionFactory.GetFor<TConnection>().
- Moved IConnectionDatabaseFactory and AdoNetConnectionDatabaseFactory to AdoNetImpl namespace.
- SerivceModelClient
- DynamicServiceClient now inherits ClientDynamicInvoker instead of implementing IInvokeDynamic.
- Testing Extensions
- Add CoverageExclusionAttribute to TestingExtensions.
- All
- Custom built NMock2 library for debugging symbol/source support.
- Updated Resharper 4.5 code style.
- Changed file names with backtick to tilde to circumvent VS.NET debugger bug.
- All classes with major depenencies use DependencyManager.
- Removed src_exp directory and all contents.
This release encompasses quite a lot of work and I am proud to bring it to the developer community. I plan on enhancing this library as time progresses.
NOTE: At this point, I consider many APIs to be feature complete. Due to time constraints, I reserve the right to significantly reduce the API size and scope to fit my interests moving forward. If an API is missing in one release, always feel free to revert to the last release and/or create your own custom release as the sum of the releases. This is the glory of open source!
0 comments:
Post a Comment