开发者

C# Pluggable Architecture, Consideration for a dissertation [closed]

开发者 https://www.devze.com 2023-04-09 06:21 出处:网络
Closed. This question is off-topic. It is not currently accepting answers. Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed. This question is off-topic. It is not currently accepting answers.

Want to improve this question? Update the question so it's on-topic for Stack Overflow.

Closed 11 years ago.

Improve this question

I am beginning a Software Engineering dissertation in which I have a dental practice as a client who I will be developing software for. The client has issues of requirements and the current software is constantly upgraded through patches.

Im trying to argue the idea that the underlying requirements are bad, and to develop a new piece of software that is able to mould to meet changes. I also want the software to be generic so it could be deployed to various dental practices who could customize it to toggle particular features on.

The idea I have is to consider each feature as a plugin. This way the application should simply host the enabled plugins and they could be toggled on/off, and upgraded invidually without the need of a hard change to the application.

I would appreciate if y开发者_JAVA百科ou could help me with the following questions I have:

Is this a good approach? Is there a .NET framework already that caters for this well? Are there any significant problems I should be aware of?

Sorry for the big intro guys, and I appreciate any response I get at all. Many thanks Mike


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


I know MEF as MS recomended framework for pluggable aplications, but maybe some IoC framework can helps you also. Recommended by MS is Unity (developed under Microsoft Patterns and Praciticies) unity on codeplex


I have used HTML, WinForms, ASPX, WPF, WCF, Web service, Silverlight, PRISM, MEF for applications in the last few years and my personal choices (given no restraints on a new project) would be:

  • WPF or Silverlight (Update: I would swing more towards WPF, now that Silverlight is no longer broadly supported)
  • WCF services
  • A modular framework like PRISM (which now includes MEF)

PRISM is the biggest gain as the components you build really are loosely coupled and modules can be developed independently without developers breaking each other's code.


For something specific like a dental practice hopefully you will be able to build a layer on top of general purpose plugin frameworks.

The plug-ins, and their container, should be specialized for the domain. The best way to identify what that that specialization should be is to enumerate several plug-ins that would be appropriate for this software, recognize what is common amongst them and abstract/represent them in your framework.

I know this is not very concrete but hopefully somewhat useful.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号