C # Трюки Зменшення кількості контролерів; CodepediaOrg

15 листопада 2014 року

(P) Закладки.dev - Диспетчер закладок із відкритим кодом та фрагментів коду для розробників та Co. Перегляньте наші посібники "Як додати", які допоможуть вам розпочати роботу. Загальнодоступні закладки Repo на Github - Star

кількості

Цей допис у блозі присвячений моїй колезі Семінді, яка експериментувала з тим, як створювати прості та потужні веб-програми. Дякую, що показала мені свої ідеї та обговорила зі мною вдосконалення, Семіндо.

Я вважаю, що багато програм C # мають набагато непотрібний код. Це особливо вірно, оскільки вага бізнес-логіки багатьох додатків переходить від внутрішньої до коду JavaScript на веб-сторінках. Коли робота вашої програми полягає у наданні даних інтерфейсу, важливо тримати їх в тонку.

У цій статті я намагався спростити стандартний контролер API MVC 4 шляхом узагальнення функціональних можливостей, централізації обробки винятків та додавання методів розширення до набору БД, який використовується для отримання моїх даних.

Якщо ви згенеруєте контролер API на основі існуючої сутності та видалите частину шуму, ваш код може виглядати так:

Цей код - спрощена версія того, що дасть вам майстер контролера API 4. Він включає метод GetPerson, який повертає людину за ідентифікатором, PostPerson, який зберігає нову особу, GetPeople, який повертає всіх людей у ​​базі даних, GetAdminsInCity, який фільтрує людей за містом та типом, і DeletePerson, який знаходить людину із зазначеним ідентифікатором та видаляє його.

Я замінив DbContext та IDbSet на інтерфейси замість конкретного підкласу DbContext, що полегшує створення тестів, які використовують подвійний для бази даних, наприклад MockDbSet.

Згенеруйте контролер