Кто-либо использует Железного разработчика скорости для быстрой разработки asp.net? [закрытый]

Другое событие NullPointerException возникает, когда объявляется массив объектов, а затем сразу же пытается разыменовать его внутри.

String[] phrases = new String[10];
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

Этот конкретный NPE можно избежать, если порядок сравнения отменяется ; а именно, использовать .equals для гарантированного непустого объекта.

Все элементы внутри массива инициализируются их общим начальным значением ; для любого типа массива объектов, это означает, что все элементы null.

Вы должны инициализировать элементы в массиве перед доступом или разыменованием их.

String[] phrases = new String[] {"The bird", "A bird", "My bird", "Bird"};
String keyPhrase = "Bird";
for(String phrase : phrases) {
    System.out.println(phrase.equals(keyPhrase));
}

5
задан 17 September 2008 в 13:00
поделиться

4 ответа

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

Работает. Делает несколько вещей хорошо: сохраненный procs, быстрое расположение обзора таблицы и экранов CRUD, быстрое расположение единственных рекордных экранов CRUD. Это справляется с распространением в прямом и обратном направлениях (или полукруглое прохождение) процесс прилично, обнаруживая изменения в Вашей схеме дб бэкэнда и обновляя ее уровень доступа к данным, затем делая измененные столбцы доступными, чтобы Вы изменили свой UI (в панелях рекордного или табличного элемента управления). ISD (как они называют его) делает превосходное задание в создании управления безопасностью для Вашего довольно безболезненного приложения, даже вниз к уровню управления (при использовании разделенных на подклассы версий ISD средств управления asp.net). Финал плюс, не маленький, является основанным на CSS управлением темой (легкий измениться на множество тем, легких настроить конкретную тему и даже слишком плохо создать Ваш собственный вариант темы путем разветвления существующего, который Вы любите). В зависимости от того, позволяете ли Вы ISD создать Ваш сохраненный procs в кодовой базе, или база данных, изменяя DB во время выполнения может быть куском пирога.

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

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

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

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

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

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

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

Снова, знание является ключом. Можно зафиксировать это, но необходимо знать, что Вы ДОЛЖНЫ.

  1. Обратные передачи чтения-записи базы данных. Никакая большая проблема здесь, но также необходимо знать, что модель должна выбрать только данные, используемые в данный момент. Если Ваша таблица покажет 1 000 записей в 50 рекордных инкрементах, когда Вы пойдете от записей 1 - 50 - 51 - 100, Вы будете обратная передача и поражать базу данных снова. Это держит данные в курсе, но увеличивает трафик сервера.

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

18
ответ дан 18 December 2019 в 06:52
поделиться

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

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

1
ответ дан 18 December 2019 в 06:52
поделиться

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

1
ответ дан 18 December 2019 в 06:52
поделиться

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

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

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

2
ответ дан 18 December 2019 в 06:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: