Menu

Production use

2008-11-13
2013-04-26
  • NatalyStrange

    NatalyStrange - 2008-11-13

    Hello,

    is your framework ready for use in production or is it still beta/buggy?

     
    • OVZH

      OVZH - 2008-11-14

      Hello Natalie,

      Many people confirm its stability. If any bugs arise we're trying to fix them in the next release.

      We use "Beta" name because the final release is planned to include some more features. "Beta" is not an indicator of bugs in this case.

      Huge applications will most likely need to extend some of the the framework classes with customized subclasses. But this is quite easy due to the high extensibility level of the framework.

      Thank you,
      --
      Oleg Zhukov

       
    • NatalyStrange

      NatalyStrange - 2008-11-14

      Hello Oleg,

      first thank you for you answer.

      I want to use your framework on the one side and on the other I want to know wether it really fits to my needs:

      At the moment I have started a "business applicaton": sqlite database + entity framework with appr. 15 Entities.

      I must learn a good software architecture anyway as I used to be a lazy coder in past... so your mvc# could be a nice start.
      Probably my needs aren`t that big rather low but still I want to know wether i should use your framework because I want to make sure that I dont have to
      stop with development and stuck at 95% because your framework isnt flexible enough or causes problems somehow...

      A RibbonForm is the basis of all containing 10 RibbonPages. Each RibbonPage contains a sort of a ControlPanel which holds some controls. the ControlPanels are made visible true/false depending on the selected RibbonPage.

      Most ControlsPanels hold a DataGridView which holds information added from within a edit Form. So at the end I have appr. 20 Form communicating with the one RibbonForm. The communicating in past between the 1:20 Forms I did with eventhandler like this:

      incident.IncidentAddedEvent += new Action(Incident_IncidentAddedEvent);

      that was ok so far but my problem was always to get the updated data back into the one RibbonForm and the datagridview within because my Controller classes contained GUI elements like BindingSources and thats not good ;-)

      So would you recommend me using your framework? I already thought your framework is dead because nobody is in the forum around... but nearly 5500 downloads is nice seems nobody is complaining or asking stupid questions like me... :S

      cheers,

      natalie

       
    • OVZH

      OVZH - 2008-11-21

      Hi Natalie,

      Sorry for the late respond.

      I do recommend using MVC#. It as flexible as MVP pattern is.

      As for your particular case: controllers of different views can communicate to each other by calling Task.Navigator.GetController(ViewName).SomeMethod() . If you see difficulties, please describe a particular views communication scenario and we'll try solve the problem!

      Thanks,
      --
      Oleg Zhukov

       
    • NatalyStrange

      NatalyStrange - 2008-12-02

      My Problem with your framework is this:

      I am using Entity Framework where the model classes/entities are automatically created using the entity designer wizard.

      In your example you create classes like that:

      I can not -or dont know how... - put OrderState.open  OR pending stuff in my models because my model classes arent directly accessible.

      Without your mvc# framework I would just have VIEW + Presenter classes and in the Presenter classes I create my entities (business objects) therefore I do not have direct contect with the model classes.

      namespace MVCSharp.Examples.Basics.Model
      {
          public class Order
          {
              private OrderState state = OrderState.Open;
             
              public OrderState State
              {
                  get { return state; }
              }

              public void Accept()
              {
                  if (State == OrderState.Open)
                      state = OrderState.Pending;
              }

              public void Ship()
              {
                  if (State == OrderState.Pending)
                      state = OrderState.Shipped;
              }

              public void Cancel()
              {
                  if (State != OrderState.Shipped)
                      state = OrderState.Cancelled;
              }
          }
      }

       
    • OVZH

      OVZH - 2008-12-11

      Hi again,

      Well, why isn't it possible to access the model classes? You can either pull your model objects from the UI data grids or request them via LINQ, or create them and maintain references to them. Please describe a scenario where you find it difficult to access your model.

      Thanks,
      --
      Oleg Zhukov

       
  • MAX XUE

    MAX XUE - 2010-07-01

    in the advanced sample, class OutlookLikeViewsManager, public InteractionPointInfoEx CreateView(ViewCategory vc), there is a line at the near end like :  ViewInfos.Add(vi);.   This adds another mailview for every new mail, it is not quite realistiy. more often we reuse the same view for all mail items, bind the requested mail details to one view is enough.

     
  • MAX XUE

    MAX XUE - 2010-07-01

    and what about destroying the view

     
  • MAX XUE

    MAX XUE - 2010-07-02

    And here in the Presentation.MainForm

            private void newToolStripItem_Click(object sender, EventArgs e)
            {
                switch ((sender as ToolStripItem).Text)
                {
                    case "Mail": Controller.CreateView(ViewCategory.Mail); break;
                    case "Note": Controller.CreateView(ViewCategory.Notes); break;
                    case "Task": Controller.CreateView(ViewCategory.Tasks); break;
                }
            }
        }

    the calls to Controller.CreateView are not suitable.  They need to be calls to AddNewMail instead of CreateView. So the code above is a bit misleading.  Need to be careful with the MVP rule in mind when using this framework in some details.

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.