Added some module architecture

This commit is contained in:
SpoinkyNL committed 2018-01-06 21:04:29 +01:00
1 parent 8d9076a241
commit 84f21aa044
25 files changed
+1732 -59

No files matched your search

+56
View File
@@ -10,6 +10,62 @@
<assemblyIdentity name="Ninject" publicKeyToken="c7192dc5380945e7" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.3.4.0" newVersion="3.3.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2.2.0" newVersion="1.2.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.FileSystem" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.FileSystem.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.ValueTuple" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Primitives" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Xml.XPath.XDocument" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.2.0" newVersion="4.0.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.FileVersionInfo" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.StackTrace" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.Scripting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.0.0" newVersion="2.6.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.0.0" newVersion="2.6.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.CodeAnalysis.CSharp.Scripting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.6.0.0" newVersion="2.6.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Reflection.Metadata" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.4.2.0" newVersion="1.4.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Console" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
+4
View File
@@ -147,6 +147,10 @@
</None>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Artemis.Core\Artemis.Core.csproj">
<Project>{9b811f9b-86b9-4771-87af-72bae7078a36}</Project>
<Name>Artemis.Core</Name>
</ProjectReference>
<ProjectReference Include="..\Artemis.Storage\Artemis.Storage.csproj">
<Project>{e489e5e3-1a65-4af5-a1ea-f9805fd19a65}</Project>
<Name>Artemis.Storage</Name>
+21 -1
View File
@@ -1,4 +1,7 @@
using Artemis.UI.Ninject;
using System.Windows;
using Artemis.Core.Ninject;
using Artemis.Core.Services.Interfaces;
using Artemis.UI.Ninject;
using Artemis.UI.Stylet;
using Artemis.UI.ViewModels;
using Ninject;
@@ -7,9 +10,26 @@ namespace Artemis.UI
{
public class Bootstrapper : NinjectBootstrapper<RootViewModel>
{
private ICoreService _core;
protected override void OnExit(ExitEventArgs e)
{
// Stop the Artemis core
_core.Dispose();
base.OnExit(e);
}
protected override void ConfigureIoC(IKernel kernel)
{
// Load this assembly's module
kernel.Load<UIModule>();
// Load the core assembly's module
kernel.Load<CoreModule>();
// Start the Artemis core, the core's constructor will initialize async
_core = Kernel.Get<ICoreService>();
base.ConfigureIoC(kernel);
}
}
+9 -9
View File
@@ -9,17 +9,17 @@ namespace Artemis.UI.Stylet
public class NinjectBootstrapper<TRootViewModel> : BootstrapperBase where TRootViewModel : class
{
private object _rootViewModel;
private IKernel kernel;
protected IKernel Kernel;
protected virtual object RootViewModel =>
_rootViewModel ?? (_rootViewModel = GetInstance(typeof(TRootViewModel)));
protected virtual object RootViewModel => _rootViewModel ?? (_rootViewModel = GetInstance(typeof(TRootViewModel)));
protected override void ConfigureBootstrapper()
{
kernel = new StandardKernel();
DefaultConfigureIoC(kernel);
ConfigureIoC(kernel);
Kernel = new StandardKernel();
DefaultConfigureIoC(Kernel);
ConfigureIoC(Kernel);
}
/// <summary>
/// Carries out default configuration of the IoC container. Override if you don't want to do this
@@ -49,7 +49,7 @@ namespace Artemis.UI.Stylet
public override object GetInstance(Type type)
{
return kernel.Get(type);
return Kernel.Get(type);
}
protected override void Launch()
@@ -61,8 +61,8 @@ namespace Artemis.UI.Stylet
{
base.Dispose();
ScreenExtensions.TryDispose(_rootViewModel);
if (kernel != null)
kernel.Dispose();
if (Kernel != null)
Kernel.Dispose();
}
}
}