База данных Guy спрашивает: объектно-ориентированная теория дизайна?

добавить multipart / form-data как тип mime

$(document).on('change', '#galeria_imagen', function () {

var elab = $('#elaboracion_ins').val();
var formdata = new FormData();

formdata.append("galeria_imagen", $('input[name=galeria_imagen]')[0].files[0]);

console.log(prueba);
$.ajax({
    type: 'POST',
    url: "/admin/elaboraciones/ajax/setGaleria",
    mimeType: "multipart/form-data",
    processData: false,
    contentType: false,
    data: formdata,

    success: function () {
        recargar_galeria(elab);
    }
});
});
5
задан Dave Schweisguth 18 February 2016 в 14:22
поделиться

13 ответов

Будьте осторожны часть литературы шаблонов разработки.

Существуют, несколько широких разновидностей определений классов. Классы для постоянных объектов (которые похожи на строки в реляционных таблицах) и наборы (которые похожи на сами таблицы) являются одной вещью.

Часть "Банды Четырех" шаблонов разработки более применима к активным, объектам приложения и менее применима к постоянным объектам. В то время как Вы боретесь через что-то как Абстрактная Фабрика, Вы будете упускать некоторую ключевую суть дизайна OO, поскольку это относится к постоянным объектам.

Объектный Наставник, Что такое Объектно-ориентированный Дизайн? страница имеет Мичиган Вас, действительно должен знать для перехода от реляционного дизайна до дизайна OO.

Нормализация, BTW, не является общим принципом разработки, который всегда относится к реляционным базам данных. Нормализация применяется, когда у Вас есть транзакции обновления, для предотвращения аномалий обновления. Это - взлом, потому что реляционные базы данных являются пассивными вещами; Вы любой должен добавить обработку (как методы в классе) или необходимо передать набор правил (нормализация). В мире хранилища данных, где обновления редки (или не существуют), что стандартные правила нормализации не так релевантны.

Следовательно, существует не, "нормализуют как это" для моделей данных объектов.

В Дизайне OO возможно, самое важное правило для разработки постоянных объектов является Единственным Принципом Ответственности.

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

Оказывается, это при рассмотрении вещей с точки зрения ответственности Вы находите, что 2 нФ и 3 нФ управляют соответствием со звуковым присвоением ответственности. Уникальные ключи все еще имеют значение. И производные данные становятся ответственностью функции метода, не персистентным атрибутом.

11
ответ дан 18 December 2019 в 05:45
поделиться

Необходимо посмотреть на UML, который является всем процессом, данным OOD.

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

0
ответ дан 18 December 2019 в 05:45
поделиться

Я - предположение, Вы имеете в виду OO в мире базы данных.

Объектно-ориентированные базы данных, которые хранят объекты, никогда действительно не ловили тот, таким образом, Вы в настоящее время смотрите отображающиеся объекты к реляционной базе данных. ORM или Объектно-реляционное отображение являются термином, использованным для описания программного обеспечения, которое делает это отображение. Идеально это дает Вам лучший из обоих миров, где разработчики могут internact с объектами, и в базе данных все хранится в реляционных таблицах, где стандартная настройка может произойти.

0
ответ дан 18 December 2019 в 05:45
поделиться

Начните читать о скороговорках дизайна, от говорит Martin Fowler.:)

Они - наиболее практическое применение ООП.

0
ответ дан 18 December 2019 в 05:45
поделиться

Смоделируйте свои объекты путем имения в виду объектов реального мира.

Мы в настоящее время разрабатываем программное обеспечение автоматизации для машин. Одна из тех машин имеет два порта загрузки для питания его сырье, в то время как у всех других есть только один. Во всех модулях до сих пор, у нас была информация портов (текущие настройки, число партии, в настоящее время присваиваемое ему и т.д.) как участники в классе, представляющем машину.

Мы решили создать новый класс, который содержит информацию портов, и добавьте двух членов LoadPort к этому классу MachineXY. Если бы мы думали об этом прежде, то мы сделали бы то же для всех тех единственных машин порта...

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

Пойдите для Объекта, Думающего David West. Интересное чтение..
Вы от темной стороны хотя.. согласно книге;) взгляды Базы данных были проклятием программистов OO на всем протяжении. Они - противоположные концы спектра. Например,

  • База данных думая оценивает данные attribues по всему остальному.. нормализация и создающие типы на основе того, как они вписываются в Схему DB ИЛИ схему ER.. Взгляды OO создают типы на основе поведения и сотрудничества и не распознают атрибуты данных как всех важных.
  • Базы данных прибывают от научных людей, которые оценивают формализацию и метод по всему остальному. OO прибывает от людей, которые используют эвристику и эмпирические правила и оценивают индивидуальность и социальное взаимодействие по надежному процессу.

Так как точка является программистом КОБОЛа, может записать программы КОБОЛа даже после того, чтобы переходить на Язык OO. Проверьте любую книгу как Размышление в Java для первого раздела, который неизменно детализирует принципы OO (Ученик).. Развейте его с Объектом, Думая (подмастерье) и в установленный срок.. ведущее устройство.

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

Этот сайт перечисляет 101 заголовок... шаблоны разработки, осуществляя рефакторинг и другой... Взгляните на него.. Это будет хорошая начальная точка...

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

Проверьте результаты этого. Извлеките уроки из каждого вопроса.

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

Я думаю Гибкая разработка программного обеспечения, Принципы, Шаблоны, и Методы довольно хороши.

Это обеспечивает много всесторонних disccusion принципов OO, перечисленных здесь:

  • Принципы управления Объектно-ориентированным проектированием и Зависимостью
  • SRP — Единственный принцип ответственности
  • OCP — Открыть Closed Principle
  • LSP — Принцип замены Лисков
  • DIP — Принцип инверсии зависимости
  • ISP — Интерфейсный принцип сегрегации
  • ЧЛЕН ПАЛАТЫ ПРЕДСТАВИТЕЛЕЙ — принцип эквивалентности выпуска повторного использования
  • CCP — Общий принцип закрытия
  • CRP — Общий принцип повторного использования
  • ADP — Нециклический принцип зависимостей
  • SDP — Стабильный принцип зависимостей
  • SAP — Стабильный принцип абстракций
4
ответ дан 18 December 2019 в 05:45
поделиться

Если Вы привыкли создавать нормализованные базы данных, то Объектно-ориентированное проектирование должно прибыть естественно к Вам. Ваши структуры класса закончат тем, что походили много на Вашу структуру данных за очевидным исключением, что таблицы ассоциации превращаются в списки, и справочные таблицы превращаются в перечисления в Ваших классах.

Все вместе, я сказал бы, что Вы - много более обеспеченный вход в дизайн OO со знаниями в Реляционных базах данных, чем Вы шли бы другое направление.

2
ответ дан 18 December 2019 в 05:45
поделиться

Если Вы хотите действительно справиться с O-O, пойдите игра с Smalltalk. ST является чистым языком OO, и вполне in-your-face об этом. После того как Вы преобладаете над горбом парадигмы, Вы изучили OO, поскольку Вы не можете действительно сделать Smalltalk без него. Это - то, как я сначала изучил OO.

2
ответ дан 18 December 2019 в 05:45
поделиться

Мне действительно понравились Главные Первые Шаблоны разработки, который очень доступен, и превосходная Эвристика Объектно-ориентированного проектирования Arthur J. Riel

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

Книга "Шаблоны разработки" является Вашим следующим шагом.
http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612

Но, Вы не должны использовать подход OO ко всему. Не будьте религиозными об этом. Если более процедурный подход чувствует больше straitforward, то пойдите с этим. Люди, плохо знакомые с OO, ухаживают к запоздалому за ним некоторое время.

6
ответ дан 18 December 2019 в 05:45
поделиться