Лучшие практики архитектуры модель-представление-контроллер - PullRequest
1 голос
/ 03 октября 2011

Мне нужно понять лучшие практики реализации архитектуры MVC.Я программист на Java и C #.Я знаю основы MVC.Но я не совсем понимаю, как это реализовать.Я знаю, как сделать простой калькулятор на основе MVC.Но вот в чем дело.

Я хотел создать простое приложение для редактирования баз данных с использованием MVC.Должен ли я построить модель и контроллер для каждой строки (объекта) таблицы?Если так, то как насчет вида каждого объекта?Как мне справиться с их удалением, обновлением и вставкой.И я должен сделать модель и контроллер для редактора, который также является представлением?

Ответы [ 2 ]

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

Если вы не хотите использовать API персистентности Java , рассмотрите возможность использования литералов класса в качестве токена типа времени выполнения в вашем TableModel.

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

Во-первых, если вы знакомы с Java, попробуйте Spring MVC.Есть много учебников по этому поводу.Если вы гораздо более уверены в C #, попробуйте ASP .NET MVC 3. Я предпочту более позднюю, поскольку в этом случае вам придется иметь дело с меньшим количеством настроек.

Теперь я отвечу на ваш вопрос один за другим.

Сначала создайте модель для каждой таблицы в вашей базе данных.На самом деле эти модели (которые являются не чем иным, как классами), когда они создаются, являются ничем иным, как отдельной строкой соответствующей таблицы.Ваш инструмент ORM (объектно-реляционное отображение) (для java вы можете использовать hibernate, для c # .net вы можете использовать платформу сущностей) предоставит вам специальные методы (save (объект), add (объект), delete (объект)) для обновлениябаза данных

Теперь каждый контроллер должен работать с определенной моделью (здесь я игнорирую сложности использования нескольких моделей.).Но это может генерировать многочисленные взгляды.Нажав ссылку на странице просмотра, вы фактически вызываете связанный метод в контроллере.Контроллер связывает Данные (если они есть) с конкретным представлением, созданным для этой ссылки, и затем представление визуализируется.Таким образом, для удаления строки в вашем контроллере должен быть метод с именем delete () (вы можете называть его как угодно.Если вы хотите удалить строку, вызовите этот метод, а внутри метода удалите эту строку, используя что-то вроде delete (object) (эти методы будут предоставлены вашим ORM), а затем верните другое представление.То же самое применяется для добавления и обновления данных.Но каждый метод может генерировать разные представления.Вам решать, какое представление вы возвращаете в каждом из этих методов.

Я надеюсь, что ответ поможет вам.Ура !!!

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