2008-09-17 5 views

ответ

18

Я использую Ironspeed в течение последних двух лет для большинства наших форм ASP.NET над проектами данных.

Это работает. Делает несколько вещей хорошо: хранит procs, быструю компоновку просмотра таблицы и CRUD-экранов, быструю компоновку одиночных записей CRUD-экранов. Он управляет процессом округления (или полукруглого полета) прилично, обнаруживает изменения в схеме back end db и обновляет свой уровень доступа к данным, а затем делает доступными измененные столбцы для изменения вашего пользовательского интерфейса (в панелях управления записью или таблицей). ISD (по их словам) отлично справляется с тем, что управление безопасностью для вашего приложения довольно безболезненно, вплоть до уровня управления (если вы используете подклассифицированные версии ISP-элементов управления asp.net). Final plus, а не маленький, - это элемент управления тегами на основе CSS (легко изменить многие темы, легко настроить конкретную тему, и даже не так уж плохо, чтобы создать свой собственный вариант темы путем разметки существующего, который вам нравится). В зависимости от того, разрешите ли вы ISD создавать сохраненные procs в базе кода или базе данных, изменение DB во время выполнения может быть куском пирога.

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

Хорошо, нижние стороны. Создает довольно крупные кодовые конгломераты, представляющие собой трехуровневую архитектуру. Как говорит Галвегян, как и любая рамка, у вас есть бархатные наручники (вытащите свой разум из желоба, если вы думаете о чем-либо, кроме ограничений и условностей кода!). Бархатные наручники - это страница и модель управления, слой данных, отсутствие возможности бизнес-объекта/класса как таковой, модель обратной модели и соблазн сделать ваш пользовательский графический интерфейс похожим на пользовательский GUI пользователя, который выходит из коробки, потому что он настолько проклят легко и удобно.

ISD создает основную страницу путем объединения HTML-шаблона (в который вы помещаете теги генерации кода ISD, а также любые другие теги и т. Д., Которые используют GUI ISD или вручную). Модель страницы опирается на код за страницей, созданный из фрагмента кода. Базовые классы почти полностью переопределяются, поэтому вы можете переопределить все функции по умолчанию, восстановить приложение и не потерять свои переопределения. Элементы управления базами данных живут в контейнере страниц, но имеют свои собственные определения классов (то есть их код) в файлах конкретных/app_code. Опять же, каждый тип управления имеет свой собственный базовый класс с довольно полностью преодолемыми методами.Один элемент управления записью (показывающий одиночную запись db) довольно прост. Таблица, показывающая несколько записей, имеет класс таблицы и класс строки таблицы. Веб-сайт ISD (www.ironspeed.com/support) имеет хорошую документацию по модели ISD в целом.

Итак, где проблемы в этой модели? 1. Легко и соблазнительно жить с их графическим интерфейсом. Point ISD в вашей базе данных, выберите таблицы, которые вы хотите, чтобы они включали страницы, рассказывали о типах страниц, придавали им тематический стиль и через пять минут вы просматривали приложение. Круто. Но очень легко забыть, что их пользовательский графический интерфейс, вероятно, не то, что ваш пользователь хочет увидеть. Итак, будьте готовы думать сами за себя и возиться с созданным таким образом GUI. Не сложно сделать, и вы можете использовать VS 2005, чтобы помочь вам.

  1. Бизнес-объекты. Вы можете собрать свои собственные бизнес-объекты, но это будет сложно, и вы не получите никакой помощи от ISD. ISD делает LOT построения простой проверки и проверки (соответствующие значения, диапазоны, длины и т. Д.). ISD позволяет создавать пользовательские запросы, но они доступны только для чтения. Он достаточно умен (и в любом случае вы можете переопределить запись со страницы), чтобы вы могли отображать от одного до многих и записывать его обратно в базу данных (вы, вероятно, переопределите базовый метод по умолчанию, но это не так это трудно сделать). Однако, когда вы попадаете на серьезную проверку зависимостей, ISD по-прежнему действительно касается таблиц, а не бизнес-объектов. Итак, вы собираетесь написать код.

Если вы умны, вы напишете его, как только сохраните его в app_code где-нибудь и используйте его, вызвав его из переопределенного метода в вашей таблице или элементах управления записью. Если вы похожи на большинство из нас, вы сначала отправитесь спамить его в один из вышеперечисленных классов кода, а затем забудете, что сделали это, или имеете копию на каждой из 10 страниц, которые манипулируют данными клиента. В моем мире это обычно означает 5 идентичных функций и 5, которые все разные (хотя все они должны быть одинаковыми). ISD заставляет заманчиво заказывать маринару, потому что модель поддается спагетти. Конечно, вы можете полностью предотвратить это, но вы должны изучить модель ISD, чтобы определить лучший способ сделать это в своем проекте.

  1. Страница состояния и обратной передачи. Хотя ISD довольно откровенен в отношении этой проблемы и говорит пользователям не просто принимать значения по умолчанию для возврата целого состояния страницы asp.net в потоке обратной передачи (вместо кеша на сервере), по умолчанию возвращается вся страница. Можно сделать для некоторых БОЛЬШИХ страниц. Что заставляет пользователей думать о S L O W. Как я уже сказал, вы можете манипулировать этим. Но, что новичок собирается получить, когда это так соблазнительно просто нажимать, кликать и стрелять - мгновенное приложение. Ваш менеджер теперь находится вне вашей спины, потому что его таблица инвентаря продукта «в Интернете» с классным поиском и редактированием графического интерфейса (из 400 страниц состояния страницы, если вы немного поработали и только что поступили по умолчанию для ISD). Отличные внутренние, но клиенты в реальном мире ....

Снова знание - это ключ. Вы можете это исправить, но вам нужно знать, что вы ДОЛЖНЫ.

  1. База данных чтения/записи обратной связи. Здесь нет большой проблемы, но вам также нужно знать, что модель предназначена для извлечения только данных, используемых на данный момент. Если ваша таблица показывает 1000 записей с шагом в 50 шагов, когда вы переходите от записей с 1 по 50 до 51 по 100, вы снова отправляете назад и снова попадаете в базу данных. Это сохраняет текущие данные, но увеличивает трафик сервера.

В целом: попробуйте демонстрационную версию. Направьте это на что-то простое, что вы действительно хотите обратиться к приложению asp.net. Постройте, возможно, три таблицы. Затем проанализируйте его, используя вышеприведенное руководство. Посмотрите, что вы думаете и вернетесь к этому вопросу.

+1

Я попробовал демо и в конечном итоге купил его. Я взволнован (пока). Спасибо за ваш комментарий. – 2008-10-01 00:38:37

2

Я использовал его для удобства для очень небольшого проекта. Он сделал то, что хотел, и спасал мне пару дней работы.

Основная проблема, которую я обнаружил, заключалась в настройке или расширении сгенерированного проекта. Вы должны потратить немало времени, пытаясь понять, как Айронспид делает то, что, я признаю, не мой путь.

Я бы использовал его снова для небольшого проекта, если бы знал заранее, мне не пришлось бы его настраивать после этого.

1

Если создание хранимой процедуры - это все, что вам нужно, CodeSmith является достойным вариантом на долю стоимости IronSpeed. Существует несколько шаблонов sproc, и вы можете создавать свои собственные или настраивать существующие, если это то, что вам нужно. Вы также можете использовать код gen.Net для вашего сердца с помощью CodeSmith. Для этого уже существуют тонны шаблонов бизнес-классов.

Значение IronSpeed ​​не в гене sproc, а в свойствах RAD. Я согласен с @Galwegian ... IronSpeed ​​в порядке для макетов или очень простых приложений, не так хорошо, если вам нужно сделать любой настройки.

+0

Я просто смотрел на CodeSmith и, похоже, он создает шаблоны не фактические страницы с сетками/текстовыми полями и т.д. Это, вероятно, хорошо для людей, которые нуждаются только код, но я хотел разработать приложение с привязкой к данным объектам (сетки и т. д.), а не только код. – 2008-09-17 17:49:13

1

Возможно, вы захотите ознакомиться с картой Evolutility CRUD.Он предоставляет некоторые из тех же функций (ограниченных CRUD) и является открытым исходным кодом.

1

IronSpeed ​​был отличным (готовым), помогая мне разрабатывать корпоративные приложения для интрасети, основанные на данных. Хотя модель кода немного привыкает, она эффективна при поддержании приятного трехуровневого приложения. Хотя шаблоны страниц могут казаться яркими по сравнению с веб-дизайном 2010 года, он выполняет свою работу, когда вам нужна функция над формой.

0

Iron Speed ​​Designer отлично подходит для простых сетевых приложений CRUD. Вы можете найти полезную информацию на нашем веб-сайте. http://www.dotnetarchitect.co.uk/

0

Если вам это нравится, очень проста в использовании, попробуйте AspxFormsGen 4.5. Вы можете изучить его менее чем за 5 минут. Создает трехъярусное веб-приложение на C# или VB.net, UI (.aspx), средний уровень (файл класса), слой данных (файл класса) и хранимые процедуры (или dyanmic sql, sql в вашем коде, а не в MS SQL) ,

Я использую все их продукты. Хотя есть куча вещей, которые я хотел бы добавить к особенностям своих продуктов, простота, отличная поддержка и, прежде всего, цена (почти в 5 раз ниже, чем у кого-либо) очень трудно победить. И они вообще не отправляют/пишут какую-либо рекламу.

https://www.junnark.com/Products/AspxFormsGen45/