Ну, я думаю, это действительно зависит от того, как ваши пользователи будут взаимодействовать с сайтом и что означает реклама в общем домене.
Просто исходя из того, что вы сказали, я бы, вероятно, создал 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");
}
}
Так что я надеюсь, что это поможет или, по крайней мере, даст вам некоторые мысли о том, как спроектировать это. Я бы пошел на отдельный контроллер. Организационно, как минимум, он будет держать вашу логику вокруг рекламы довольно хорошо сдержанной (вместо потенциально раздутого контроллера рекламодателя).
Удачи!