1

We have a core web api application with an angular font end (part A) and we need to add some client specific logic (part B). We want to keep the project A as clean as possible since there are some other clients using the application.

The custom logic needs to be integrated into the core application.

We currently are thinking to create a new project for B and use reflexion in A to add the new controllers and make the bridge between the two. The could also create a bridge in javascript to load the javascript in B.In other word make a point of integration in A to import B. This way we can keep adding custom client logic out of the main project/product.

Is there any other way to do this?

Thanks

Kadgiko
  • 355
  • 3
  • 14
  • How about a configuration file that specifies what other modules to load and you modify the core so that any customization that needs to be done for a client can be done from an external module without actually modifying the core in a client-specific way. In other words, you make the core customizable from an external module rather than you make N custom versions of the core. – jfriend00 Sep 28 '15 at 21:57
  • @jfriend00 You explained what i meant in a much better way. In other word, the bridge i talk about for both javascript and the web api could read the config file you are talking about and that is what I meant by integration point. From there i would load the referenced project (module) specified in the config file. – Kadgiko Sep 28 '15 at 22:06

1 Answers1

0

We finally took what @jfriend00 explained.

Since we are using angular ui-route, we will be able to add custom routes from the child project. Client view will be added this way and will allow us to keep the logic separated the way we wanted to.

For server side code, it will be added with reflexion as mentioned here : Getting All Controllers and Actions names in C#

Thanks

Community
  • 1
  • 1
Kadgiko
  • 355
  • 3
  • 14