Должен ли я иметь новый контроллер или такой же контроллер для реализации этого? - PullRequest
1 голос
/ 02 сентября 2011

Например, у меня есть контроллер рекламодателя, теперь мне нужно, чтобы у рекламодателя была реклама. Итак, мой вопрос, где я могу поставить это? Должен ли я иметь новый контроллер рекламы или сделать это в контроллере рекламодателя? Пожалуйста, предложите. Благодарю.

Ответы [ 2 ]

1 голос
/ 03 сентября 2011

Ну, я думаю, это действительно зависит от того, как ваши пользователи будут взаимодействовать с сайтом и что означает реклама в общем домене.

Просто исходя из того, что вы сказали, я бы, вероятно, создал AdvertisementController, который имеет метод Create. Я предполагаю, что вы будете знать идентификатор пользователя / рекламодателя на основе аутентификации, поэтому вы можете иметь пустую подпись метода Create для GET (для отображения формы) и подпись метода Create, которая принимает Advertisement объект для POST. Я не знаю язык, с которым вы работаете, и / или инфраструктуру MVC, которую вы используете, но, надеюсь, это поможет.

public AdvertisementController : Controller {

  //http://server/ad/create (with optional querystring params??)
  [HttpGet]
  public ActionResult Create(){
    //get your model or modelview
    return View(model);  //return View for your Create Advertisement view
  }

  //http://server/ad/create (with post request body)
  [HttpPost]
  public ActionResult Create(Advertisment ad){
    //send your ad to the repository

    //redirect to some read page, or list, or something else
    return Redirect("Home", "Index");
  }
}

Так что я надеюсь, что это поможет или, по крайней мере, даст вам некоторые мысли о том, как спроектировать это. Я бы пошел на отдельный контроллер. Организационно, как минимум, он будет держать вашу логику вокруг рекламы довольно хорошо сдержанной (вместо потенциально раздутого контроллера рекламодателя).

Удачи!

0 голосов
/ 03 сентября 2011

Для меня это концептуальный вопрос.

Если рекламные объявления концептуально и логически «принадлежат» рекламодателю - это будет ваш ответ (используйте контроллер рекламодателя);с другой стороны, если реклама сама по себе является самостоятельной концепцией (и не зависит исключительно от рекламодателей), то это будет определять ваш ответ (дайте им свой собственный).

СпособЧтобы проверить это, нужно взглянуть на различные сценарии, которые вам, вероятно, придется реализовать (в соответствии с 4 + 1 модель архитектурного представления ), и дать им возможность вывести ответ.

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