Я планирую разработать свой собственный простой и элегантный фреймворк для веб-приложений на C # 3.5. У меня есть некоторые идеи, но пока нет лучшей практики, как это следует реализовывать Может быть, вы можете помочь?
Мои идеи:
- Это библиотека C # (DLL)
- Он должен использовать XSLT в качестве языка шаблонов, поэтому XML должен быть выводом моего уровня данных / модели *
- Необходимо подключиться к различным базам данных, таким как MySQL en SQL Server и ODBC
- Это должна быть командная база, например шаблон проектирования команд, поэтому я могу опубликовать команду с некоторыми параметрами, сгруппированными для этой команды, и выполнить команду "stuff"
- Все команды и действия базы данных из 1 поста должны быть в одной транзакции, поэтому все можно откатить
- Для этого нужна модель безопасности / авторизации (что хорошо?)
- Необходимо разрешить URL-адрес, например, / a / b / c преобразуется в /? Id = 33
- Он должен быть подключаемым, поэтому, когда я создаю веб-приложение для кого-то с особыми потребностями, мне не нужно изменять свою базовую библиотеку Engine
- Он должен иметь методы кэширования и / или сжатия внутри
- Он должен быть быстрым, многопоточным и быстродействующим
- Для этого требуется отладочная регистрация
- Было бы неплохо внедрить в уровень данных / модели некоторый динамический сценарий, такой как IronPython, для динамического создания сценария моего вывода в XSLT, так что корректировки могут быть сделаны быстро, не заходя в Visual Studio и не настраивая мой DLL.
У вас есть идеи, как лучше всего начать создавать такую структуру? Или уже есть такие рамки в C #?
Это небольшая идея, когда у вас есть таблицы «Клиент» и «Адрес», и вы хотите опубликовать html-форму для добавления записи в базу данных и отправить его по почте, вам необходимо опубликовать эти поля в 1 postaction:
Customer.ACTION = add
Customer.Name = "John Smith"
Customer.Email = "john.smith@emailaddress.com"
Address.ACTION = add
Address.CustomerId = #Customer.ResultId#
Address.Street = "Mainstreet"
Address.Number = "1"
Mail.ACTION = send
Mail.AFTER = Customer
Mail.To = #Customer.Email#
Mail.From = "test@case.com"
Mail.Subject = "Welcome"
Mail.Body = "Welcome new customer!"
Движок получает сообщение, и с помощью Reflection он собирает класс для нужной ему команды, в данном случае DatabaseCommand и MailCommand, и запускает ее. Видите ли, я хочу использовать какую-то очередь с сортировкой. В этом случае команда Customer должна быть первой, после этого Mail (см. Mail.AFTER) и / или Address (см. Зависимость # Customer.ResultId #).
Так что вы думаете об этом проекте?
Привет