c# - Implementing Business Objects for a WinForms MVP application -


I am creating a new system from scratch and working on the design of the application. I'm looking at ways viable for my domain object modeling.

Some special about the project - it will be a big data entry, integrated in WinForms application, ESRI ArcMap (a GIS app). Data access should go through Arcampe's own Data Access Layers - Data is retrieved and saved through cursor style access. There is no problem obtaining this data, but I know, this organization excludes ORM devices as framework and NHibernate, because I can not interact directly with the database.

The WinForms application will follow a MVP pattern - View will be connected to the model. The presenter will also modify the model. Therefore, the domain object should support the following:

  • Change the notification
  • Changing the Tracking At the lowest level, I want to know whether my model has changed or not.

    <+++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++> Change the notification through the INotifyPropertyChange interface.

  • Change the tracking through an IsDirty property, which must be maintained manually.
  • ADO.NET datasets wrapped by POCOs .
  • + "Free"
  • + "

    which I have rejected :

    • The unit framework - I 'n is on Net Framework 3.5, so no code is already supported. As far as I know, domain is too messy to handle logic - Event Handlers.

      Are there any other good alternatives? Maybe code generation (any suggestions on the device?), Some frameworks? Words of wisdom, advice?

      POCOs just "dumb" data Are the transfer objects and There is no business in it, whatever the logic, they are not my models as they are another set of dumb objects that are close to my UI. I pumping the data out of my DTO in my data access layer, I pass the processing level to my service level, but they are only transferred to my presentations / controllers so that I can get my UI model Adequate information through the switch to models. For your case, I think it would be more logical, because you will have to go through the data access layer to ArcMap. You can keep data in your presentation level and keep an eye on it.

Comments

Popular posts from this blog

mysql - BLOB/TEXT column 'value' used in key specification without a key length -

c# - Using Vici cool Storage with monodroid -

python - referencing a variable in another function? -