C # Embedded architecture, dissertation review

I am starting work on software development in which I have a dental practice as a client for whom I will develop software. The client has problems with the requirements, and current software is constantly updated with patches.

I am trying to validate the idea that the basic requirements are bad, and to develop a new piece of software that is capable of molding to fit the changes. I also want the software to be shared so that it can be deployed for various dental practices that can be configured to include certain functions.

The idea I have is to consider each function as a plugin. Thus, the application should simply post enabled plugins, and they can be turned on / off and updated without the need for hard changes to the application.

I would be grateful if you could help me with the following questions:

Is this a good approach? Is there still a .NET framework that is suitable for this well? Are there any significant issues I should be aware of?

Sorry for the great involvement of the guys, and I appreciate any response I get at all. Thanks a lot Mike

+4
source share
4 answers

Managed Extensibility Framework is built into .NET 4.0 and is available from CodePlex as a dll for earlier versions.

+4
source

I know MEF as the recommended MS framework for plug-in applications, but maybe some IoC structures will also help you. Recommended MS - Unity (developed under Microsoft Patterns and Praciticies) unity in codex

+3
source

I used HTML, WinForms, ASPX, WPF, WCF, web service, Silverlight, PRISM, MEF for applications over the past few years, and my personal choice (without restrictions in the new project):

  • WPF or Silverlight (update: I will approach WPF more, now Silverlight is no longer supported)
  • WCF Services
  • Modular structure such as PRISM (which now includes MEF)

PRISM is the biggest gain because the components you create are loosely coupled to each other, and modules can be developed independently if the developers do not violate each other.

+2
source

Something specific, like dental practice, we hope you can create a layer on top of general purpose plugins.

Plugins and their container must be specialized for the domain. The best way to determine which particular specialization should be to list several plugins that would be suitable for this software, find out what is common among them, and abstract / represent them in your structure.

I know this is not very specific, but hopefully somewhat useful.

+1
source

All Articles