Если Вам нужна усовершенствованная математика в Вашем ежедневном задании, поскольку программист действительно зависит от Ваших задач. Мне нужны они. Причина, я должен работать с гидравлическими вычислениями для трубопроводных систем для оценки в коде трубопроводной системы, прежде чем это будет создано. Вы никогда не хотите стоять около трубопроводной системы сворачивания из-за под или сверхдавление. ;)
я предполагаю для многих других видов 'моделирований реального мира', Вам будет нужна усовершенствованная математика также.
ORM (Object Relational Mapper) - это часть / уровень программного обеспечения, которое помогает сопоставить объекты кода с вашей базой данных.
Некоторые обрабатывают больше аспектов, чем другие ... но цель состоит в том, чтобы взять на себя часть веса уровня данных с плеч разработчика.
Вот краткий отрывок от Мартина Фаулера (Data Mapper):
Patterns of Enterprise Application Architecture Data Mappers
Как и все аббревиатуры, это двусмысленно, но я предполагаю, что они имеют в виду объектно-реляционный преобразователь - способ прикрыть глаза и убедить, что под ним нет SQL, а скорее он все объекты ;-). Не совсем верно, конечно, и не без проблем - всегда красочный Джефф Этвуд описал ORM как Вьетнам CS ;-). Но, если вы мало знаете SQL или совсем не знаете SQL и имеете довольно простую / небольшую проблему, они могут сэкономить ваше время! -)
Объектно-реляционное сопоставление (ORM) - это метод, который позволяет запрашивать и управлять данными из базы данных с использованием объектно-ориентированной парадигмы. Говоря об ORM, большинство людей имеют в виду библиотеку , которая реализует технику объектно-реляционного сопоставления, отсюда и фраза «ORM».
Библиотека ORM - это совершенно обычная библиотека, написанная на вашем языке выбор, который инкапсулирует код, необходимый для управления данными, поэтому вы больше не используете SQL; вы напрямую взаимодействуете с объектом на том же языке, который используете.
Например, вот полностью воображаемый случай с псевдоязыком:
У вас есть книжный класс, вы хотите получить все книги, из которых автор - «Линус». Вручную вы бы сделали что-то вроде этого:
book_list = new List();
sql = "SELECT book FROM library WHERE author = 'Linus'";
data = query(sql); // I over simplify ...
while (row = data.next())
{
book = new Book();
book.setAuthor(row.get('author');
book_list.add(book);
}
С библиотекой ORM это будет выглядеть так:
book_list = BookTable.query(author="Linus");
Механическая часть обрабатывается автоматически через библиотеку ORM.
Использование ORM экономит много времени, потому что:
Использование библиотеки ORM более гибко, потому что:
Но ORM может быть проблемой:
для цикла
. Хорошо, используйте его. Какую бы библиотеку ORM вы ни выбрали, все они используют одни и те же принципы. Здесь есть много ORM-библиотек:
Если вы хотите попробуйте библиотеку ORM в веб-программировании, лучше использовать весь стек фреймворка, например:
Не пытайтесь написать свой собственный ORM, если вы не пытаетесь чему-то научиться. Это гигантская работа,
Несколько причин: Если у вас есть сложные объединения, иногда лучше иметь представление, чтобы при любом доступе соединения всегда были правильными, а разработчикам не приходилось запоминать все таблицы, которые могут им понадобиться. Обычно это может быть для финансового приложения, где чрезвычайно важно, чтобы все финансовые отчеты основывались на одном и том же наборе данных.
Если у вас есть пользователи, которым вы хотите ограничить записи, которые они могут когда-либо видеть, вы можете использовать представление , предоставьте им доступ только к представлению, а не к базовым таблицам, а затем запросите представление
Похоже, что отчеты Crystal предпочитают использовать представления для сохраненных процессов, поэтому люди, которые много пишут отчеты, как правило, используют много представлений
] Представления также очень полезны при рефакторинге баз данных. Часто вы можете скрыть изменение, чтобы старый код не увидел его, создав представление.
$("#source").appendTo("#destination");
В качестве альтернативы вы можете использовать функцию prependTo
(которая добавляет в начало элемента):
$("#source").prependTo("#destination");
Пример:
$ ("# appendTo"). Click (function () {$ ("#moveMeIntoMain"). appendTo ($ ("# main"));}); $ ("# prependTo"). click (function () {$ ("# moveMeIntoMain"). prependTo ($ ("# main"));});
#main {border: 2px сплошной синий; минимальная высота: 100 пикселей; } .moveMeIntoMain {граница: 1px сплошной красный; }
main < / div> переместить меня на главную
50
ответ дан 23 November 2019 в 03:41
поделиться