private static ValueObjectType CreateValueObjectType(Type type) { var typeAnalyzer = new DefaultTypeAnalyzerService(); var bootStrapperProvider = new DefaultBootstrapperProvider(); return(new ValueObjectTypeFactory(typeAnalyzer, bootStrapperProvider).Create(type)); }
// TODO (Cameron): If type is in this library then don't bootstrap. private static AggregateRootType CreateAggregateRootType(Type type) { var typeAnalyzer = new DefaultTypeAnalyzerService(); var bootStrapperProvider = new DefaultBootstrapperProvider(); return(new AggregateRootTypeFactory(typeAnalyzer, bootStrapperProvider).Create(type)); }
// NOTE (Cameron): Wire-up. static Application() { var typeAnalyzerService = new DefaultTypeAnalyzerService(); var bootStrapperProvider = new DefaultBootstrapperProvider(); DefaultAggregateRootTypeFactory = new AggregateRootTypeFactory(typeAnalyzerService, bootStrapperProvider); DefaultEntityTypeFactory = new EntityTypeFactory(typeAnalyzerService, bootStrapperProvider); DefaultValueObjectTypeFactory = new ValueObjectTypeFactory(typeAnalyzerService, bootStrapperProvider); }