#asp.net
#asp.net
Вопрос:
Я планирую использовать генератор кода CodeOnTime в моем asp.net применение. Прежде чем начать это, я просто хочу подтвердить, что это надежно для большого проекта? Возможна ли настройка кода в CodeOnTime?
Если кто-то использовал CodeOnTime, пожалуйста, предложите мне, должен ли я использовать это или нет.
Комментарии:
1. Если вы хотите исследовать, похоже, вы можете сгенерировать несколько примеров из их бесплатной загрузки и просмотреть код, который он создает самостоятельно.
2. Не могли бы вы, пожалуйста, предложить мне область настройки, созданную с помощью CodeOnTime?
3. Извините, у меня нет каких-либо конкретных знаний, но, судя по коду их веб-сайта, настройка возможна, да, хотя для этого вам может потребоваться получить одну из их платных версий. Тем не менее, вам лучше задать им такой вопрос.
Ответ №1:
Я использовал Code-on-Time, прежде чем перестать его использовать.
Сама проблема многогранна:
Вам нужно будет взвесить этот продукт (и другие продукты, не генерирующие код ORM, такие как IronSpeed, Code-On-Time, CodeCharge, которые используют проприетарные уровни доступа к данным.) против использования ORM-layer с расширенными генераторами кода.
Первая проблема, с которой вы столкнетесь, — это определение части бизнес-логики. Вам понадобится их премиум или неограниченная версия. Таким образом, вы довольно быстро переходите со стандартного на премиум. Лично я столкнулся со многими ограничениями в их премиум-версии, и мне потребовалось перейти на неограниченную версию, такую как сложная бизнес-логика, динамическое управление доступом (необходимо, чтобы вы могли переопределить управление доступом), простой аудит и ведение журнала.
Версия CodeOnTime unlimited стоит 2499 долларов США на 12 месяцев. К сожалению, я не смог оправдать эту цену из-за рецессии в США и сокращения расходов. Итак, если вы владеете CodeOnTime 4 года, вы можете представить, какой большой счет вам придется заплатить.
Вторая проблема, с которой вы столкнетесь, — это часть модели данных и то, что на самом деле представляет собой подход ORM MVC против Подход на уровне кода-Gnerator.
Например, то, как работает их моделирование, заключается в том, что оно извлекает все таблицы MSSQL и генерирует поля редактирования, таблицы и сетки оттуда. Это отлично работает, пока вам не понадобится добавить бизнес-логику, ограничение ввода, проверку ввода. Для этого вам придется создать много пользовательского кода на случай, если настройки по умолчанию для вас неприменимы. Вы можете увидеть это в расширенных руководствах по кодированию во времени.
Третья проблема — медлительность. Их демонстрации быстры, потому что они загружают ограниченные данные, очищают данные через некоторое время. В реальном производстве клиенту приходится мириться с проблемами CSS (которые позже были исправлены в более поздних версиях), медленной загрузкой массивных данных (попробуйте это в производственной среде), коллизиями редактирования, которые могут повредить данные.
Четвертая проблема — это подход «черного ящика». Вы хотите протестировать свои окончательные результаты. Как вы проверяете все атрибуты и просматриваете все параметры и настройки, не теряя свою предыдущую работу из-за ошибок генерации кода? Я потерял работу из-за несоответствий при генерации кода. Это меня очень сильно задело.
Альтернатива Code-On-Time — объективно взглянуть на Visual Studio и взвесить, перевешивает ли использование простых генераторов кода (CodeOnTime, IronSpeed, CodeCharge) использование C # ORM MVC или WinForms layer).
Примерами являются:
- LBLGenPro (ORM) CSLA.NET (Генерация кода) ASP.NET MVC
- DataGen.net (ОРМ) CSLA.NET (Генерация кода) WinForms
-
Entity Framework CSLA.NET WinForms или MVC
-
LBLGenPRo (ORM) Entity Framework (с вашими собственными правилами и механизмом документооборота) ASP.NET
- Entity Framework (механизм рабочего процесса) ASP.NET
-
Дозвуковой Замковый ORM ASP.NET MVC
-
Linq ASP.NET Динамические данные
- Entity Framework ASP.NET Динамические данные
На других языках:
- PHP Cakewalk (вы можете создать почти целый веб-сайт с 50 таблицами за 1 день)
-
PHP YII
-
Java Struts
- Java JBoss JSF ExtJS
Вышеуказанное позволяет достичь тех же результатов более экономичным способом и на чем вы можете построить свой бизнес.
Этот вопрос был здесь почти 3 месяца без ответа. Вы можете представить себе действительно небольшое сообщество против огромное сообщество разработчиков C #, ORM и ASP.NET MVC.
Надеюсь, это поможет.
Комментарии:
1. Я не могу прокомментировать все ваши замечания, поскольку я не использовал продукт, однако тот факт, что он создает отличный графический интерфейс, является огромным плюсом. Серверное кодирование не является проблемой, если у вас есть правильная модель данных. Он может быть закодирован или сгенерирован различными способами. Что бросает вызов некоторым разработчикам, так это дизайн и реализация графического интерфейса HTML / CSS, которые ни один из известных мне инструментов не делает менее болезненными, за исключением CodeOnTime, который создает отличный графический интерфейс, который идеально подходит для многих бизнес-сценариев без единой строки кода.
2. И Брайан, и Данно, которые опубликовали логику счетчика для ответа лютика, считают это единственным взаимодействием с Stackoverflow за всю историю (не говоря уже о XP). Заставляет меня поверить, что это COT. Также меня пугает, насколько микроскопично сообщество, что за все эти годы это уровень активности.
Ответ №2:
Я вынужден не согласиться с buttercup по ряду их пунктов, поскольку уже был пользователем CodeOnTime (COT) для ряда проектов.
Что касается # 1 — введение вашего собственного обычая.ЧИСТАЯ бизнес-логика, вы можете сделать это с их стандартной версией (350 долларов США), и я успешно это сделал.
Что касается # 2, COT использует шаблон MVC, хотя и не Microsoft «ASP.NET Ароматизатор MVC». Это правда, что он не выполняет ORM как таковой, но генерирует .СЕТЕВЫЕ бизнес-объекты на основе таблиц и представлений вашей базы данных. Можно утверждать, что вы можете использовать представления для этой цели.
Что касается производительности, я заметил значительное увеличение доступа к данным с помощью сгенерированного кода COT за последний год. Я думаю, что они изменили свой уровень доступа к данным в соответствии с этими строками. Я бы добавил, что производительность была не слишком низкой для начала.
Что касается # 4, то из COT не создаются компоненты «черного ящика» — в отличие от некоторых других генераторов кода, Не создаются собственные библиотеки DLL и т. Д. Хотя я этого не пробовал, я бы подумал, что можно создавать модульные тесты, которые противоречат созданным бизнес-объектам COT. Я признаю, что вы должны быть осторожны при смешивании любого пользовательского кода с сгенерированным кодом COT, хотя инструмент автоматически создает резервную копию существующей базы кода перед ее повторным созданием.
Кстати, я не связан с компанией COT…
Комментарии:
1. # 4 — Я прочитал его точку зрения, сказав, что он написал тесты для сгенерированной DLL, затем он восстановил DLL, и все имена символов / свойств были изменены при регенерации, нарушив его тесты.
2. Привет, этот обзор был сделан ~ в начале октября 2011 года. В нем рассказывалось о моем опыте работы с CodeOnTime. Возможно, с тех пор они изменили его. Я перешел на KendoUI и Telerik.
3. Я не связан с Telerik и их KendoUI. Просто счастливый клиент.
Ответ №3:
buttercup — Языки и инструменты, которые вы упомянули, являются отличными и хорошими стандартами для прагматичной разработки. Хотя, я думаю, вам не хватает целей COT, которые заключаются в том, чтобы выполнять большую часть тяжелой работы с пользовательским интерфейсом и серверной обработкой для приложений баз данных. COT увеличит производительность в 5-20 раз по сравнению с языком и инструментами, которые вы упомянули, включая продукты Telerik. Не поймите меня неправильно, я бы никогда не использовал COT для чего-либо, что не является сильно преобладающим в приложении, ориентированном на базу данных.
1) Что касается blackbox, их нет.
2) Проверка — проверка выполняется для вас при условии, что вы правильно смоделировали свою базу данных.
3) COT довольно быстрый и отзывчивый. Если у вас огромная база данных и вы не выполнили свою «должную осмотрительность» в оптимизации SQL, тогда «да» это будет медленно.
В заключение, COT очень настраиваем. Архитектура очень надежная. Его полная функциональность не имеет себе равных ни с чем.
Комментарии:
1. Я согласен с Данно. Мы используем COT для наших клиентов (хотя это небольшие и средние компании), и это позволяет нам предлагать очень функциональные решения для наших клиентов с рекордной скоростью. Это довольно стабильно, но сначала вам нужно разобраться в способе работы. Хотя я бы не стал использовать его для критически важных систем…