public void PerformTest() { _domain.DoCallBack(() => { var architecture = Qi4CSArchitectureFactory.NewSingletonArchitecture(); var assembler = architecture.CompositeAssembler; assembler .NewPlainComposite().OfTypes(typeof(MyComposite)) .WithConcerns(typeof(MyCompositeConcern)).Done() .WithSideEffects(typeof(MyCompositeSideEffect)).Done() .WithMixins(typeof(MyCompositeMixin)); assembler .NewService().OfTypes(typeof(MyService)); architecture.AttributeProcessingEvent += new EventHandler <AttributeProcessingArgs>(architecture_AttributeProcessingEvent); var model = architecture.CreateModel(); model.GenerateAndSaveAssemblies(emittingInfoCreator: Qi4CSCodeGenHelper.EmittingArgumentsCallback); var application = model.NewInstance(TestConstants.APPLICATION_NAME, TestConstants.APPLICATION_MODE, TestConstants.APPLICATION_VERSION); application.Activate(); try { var builder = application.StructureServices.NewPlainCompositeBuilder <MyComposite>(); builder.Prototype().ImmutableProperty = IMMUTABLE_PROPERTY; var composite = builder.Instantiate(); this.TestComposite(composite); } finally { application.Passivate(); } }); }
protected override Core.Bootstrap.Assembling.ApplicationArchitecture <SingletonApplicationModel> BuildArchitecture() { var architecture = Qi4CSArchitectureFactory.NewSingletonArchitecture(); architecture.CompositeAssembler .NewPlainComposite() .OfTypes(typeof(TestComposite)) .WithMixins(typeof(TestCompositeMixin)); return(architecture); }
// Need to implement this method that will take care of creating Qi4CS architecture // and setting it up. protected override ApplicationArchitecture <SingletonApplicationModel> BuildArchitecture() { var architecture = Qi4CSArchitectureFactory.NewSingletonArchitecture(); architecture.CompositeAssembler .NewPlainComposite() .OfTypes(typeof(MyDomainFunctionality)) .WithMixins(typeof(MyDomainFunctionalityMixin)); return(architecture); }
private void DummyMethod() { #region PrivateCompositesCode2 var architecture = Qi4CSArchitectureFactory.NewSingletonArchitecture(); architecture.CompositeAssembler .NewPlainComposite() .OfTypes(typeof(MyComposite)) .WithMixins(typeof(MyCompositeMixin)); // MyCompositeState is not included in the .OfTypes method parameters. // Therefore, it will become a private composite type. #endregion }
protected override ApplicationArchitecture <ApplicationModel <ApplicationSPI> > CreateApplicationArchitecture() { var architecture = Qi4CSArchitectureFactory.NewSingletonArchitecture(); Type compositeType = null; Type[] mixins = null, concerns = null, sideEffects = null; this.SetupApplicationArchitecture(ref compositeType, ref mixins, ref concerns, ref sideEffects); var decl = architecture.CompositeAssembler.NewPlainComposite().OfTypes(compositeType); if (mixins != null) { decl.WithMixins(mixins); } if (concerns != null) { decl.WithConcerns(concerns); } if (sideEffects != null) { decl.WithSideEffects(sideEffects); } return(architecture); }
protected override SingletonArchitecture CreateArchitecture() { return(Qi4CSArchitectureFactory.NewSingletonArchitecture()); }