Jake
Jake

Reputation: 28

Is it ok to create more modules in one assembly in prism?

I want to create two modules that describes toolbar and menu feature, but I don't want to define them in two different assemblies, and I tried to do it in that way,It works fine,but I'm afraid that would it takes twice as much as memory like just define them in one module? Follow is my demo code, they're written in one project.

public class MainMenuModule : IModule {
        public void Initialize() {
             RegionHelper.RegisterViewWithRegion(Shell.RegionNames.Menu, typeof(Views.Menu));
        }
    }

 public class ToolBarModule : IModule {
        public void Initialize() {
            RegionHelper.RegisterViewWithRegion(Shell.RegionNames.ToolBarRegion, typeof(Views.ToolBar));
        }


    }

Note that RegionHelper is a wrapper prism region API.

Upvotes: 0

Views: 185

Answers (2)

mm8
mm8

Reputation: 169380

Is it OK to put two Prism modules in a single assembly? Well, yes. It will work and there is nothing stopping you from really. You can put as many module classes in a single assembly as you want to.

Keep in mind that a module is supposed to be a set of loosely coupled functional units though. If you put two modules in a single assembly, you can no longer load the first one without also loading the second one and vice versa. This may be a problem or it may not depending on how the modules are used by your application.

The possible down-sides of using too many assemblies are discussed here: Specific down-sides to many-'small'-assemblies?

This is generally not an issue.

Upvotes: 1

Haukinger
Haukinger

Reputation: 10883

That's fine. Although I don't really see a use case for two modules in one assembly...

And btw, the module definition classes are ready for collection once their Initialization methods return.

Upvotes: 1

Related Questions