Создать кнопку .NET Custom Control для CRUD - PullRequest
0 голосов
/ 27 мая 2009

Я думаю создать кнопку Custom Control, которая бы выполняла задачи CRUD для меня. Позвольте мне уточнить:

Я хотел что-то, что сэкономило бы время для написания кода на каждом пользовательском интерфейсе для задач CRUD. Я здесь, потому что я хочу убедиться, что подход, который я использую, должен быть проверен, прежде чем я потрачу часы и напрягусь.

Пользовательская (может быть пользователем) кнопка управления, которая будет принимать делегата. Для этого делегата пользовательский EventArg принимает ссылку на класс бизнес-класса и перечисление CRUD (Create, Read, Update, Delete). Каждый бизнес-класс будет реализовывать интерфейс, который будет определять 4 функции (функции CRUD). Теперь, когда вы перетащили этот элемент управления в форму, вам нужно создать делегат, для которого потребуется ссылка на бизнес-класс и перечисление CRUD для выполнения одной из функций CRUD.

Я не уверен, что выбранный мной подход верен. Но похоже, что это сделает мою жизнь намного проще и код будет управляемым. Пожалуйста, помогите мне, как вы думаете, это излечит меня или проклянет меня:)

П.С .: Буду признателен, если объяснение приведено на примере примера. Спасибо.

Ответы [ 2 ]

1 голос
/ 27 мая 2009

Я бы отделил CRUD 4 отдельными командами. Итак, один для Create, другой для Read ... и затем я бы реализовал событие button.Click на форме, в которой используется кнопка. В случае, если я выполню правильную CRUD-команду.

Пример:

public interface ICommand
  {
    void Execute ();
  }

  public class UpdateCommand : ICommand
  {
    public UpdateCommand ()
    {
      // Maybe some business logic has to be passed in the ctor.
    }

    public void Execute ()
    {
      // Do the update stuff here
    }
  }

  // somewhere in the Form:

  public void Button_Update_Click(object sender, EventArgs e)
  {
    UpdateCommand command = new UpdateCommand();
    command.Execute()
  }

Может быть эта ссылка поможет вам понять шаблон команды.

Это поможет вам разделить функциональность и легко протестировать его с помощью TDD.

0 голосов
/ 27 мая 2009

Вы можете сделать что-то очень похожее со встроенными элементами управления ObjectDataSource и DetailsView или FormView. Я бы придерживался этих, а не писал свои собственные. Если вы действительно хотите сэкономить время, загляните на сайты ASP.NET Dynamic Data.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...