Каковы лучшие ресурсы для шаблонов разработки и их использования?

Полный кусок приятного и понятного PHP-кода, возвращающего JSON:

$option = $_GET['option'];

if ( $option == 1 ) {
    $data = [ 'a', 'b', 'c' ];
    // will encode to JSON array: ["a","b","c"]
    // accessed as example in JavaScript like: result[1] (returns "b")
} else {
    $data = [ 'name' => 'God', 'age' => -1 ];
    // will encode to JSON object: {"name":"God","age":-1}  
    // accessed as example in JavaScript like: result.name or result['name'] (returns "God")
}

header('Content-type: application/json');
echo json_encode( $data );
5
задан James Winans 18 September 2008 в 13:45
поделиться

13 ответов

Существует много различных семейств 'шаблонов' там, но ответ на Ваш вопрос его самые широкие условия...

Я рекомендовал бы:

Офлайн (мои фавориты):

Офлайн (популярный):

  • Шаблоны разработки GoF
  • Рефакторинг Fowler: улучшение дизайна существующего кода
6
ответ дан 18 December 2019 в 08:33
поделиться
4
ответ дан 18 December 2019 в 08:33
поделиться

Хорошее использование шаблонов зависит от знаний и опыта; нет никакой формулы к нему. Хорошая вещь сделать, имеют кого-то, кто испытан при применении шаблонов рассудительно для регулярного рассмотрения кода всех остальных в команде, чтобы удостовериться, что они не злоупотребляют или underusing шаблоны разработки. Они не подвергнутые термообработке рецепты - им нужен навык для применения эффективно, и это должно быть изучено.

Мое первое и лучшее воздействие шаблонам разработки было Портлендским Репозиторием Шаблона.

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

Использование "шаблона" зависит в высокой степени от

  1. язык используется
  2. цели одна любить к achive.

Шаблон разработки можно назвать переоцененным на языках как C++, Java и т.п.. Они скрываются, негибкость начинает со всех видов ввода проблем. Вот ссылка на то, какой шаблон "переживают" на менее строгих языках: http://norvig.com/design-patterns/

Другим примером является аспектно-ориентированное программирование, в котором с вещами усилия по силе "представлены" на языке, не "разработанном" для него.

Философия позади используемых инструментов имеет большое влияние также. Просто сравните скажем, средний PHP или программы Visual Basic и решения в Smalltalk, языке Common LISP, Haskell и т.п..

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

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

Я предлагаю читать упомянутую ссылку и затем проверяю реализации в "различные" языки....

Отношения Friedrich

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

Общие шаблоны использования все время. Они просто не могли бы знать это. Даже простая вещь как 'выполняет итерации по списку', шаблон.

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

Так, скажите, например, Вы определили это, что Ваше выполнение является великим, подходящим для Наблюдателя. Вы говорите своему коллеге "Эй, это будет действительно легко сделать, если мы сделаем этот объект Наблюдателем и этот объект его предмет".

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

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

Все это полагается на Вашего коллегу, не являющегося типом, кто кивает и симулирует понимать что-то, когда они не делают. Вам действительно нужны они для высказывания "Эй, Вы упомянули Наблюдателя, я не думаю, что знаю, каково это".

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

Я думаю лучший веб-ресурс, содержащий информацию о шаблонах и осуществляющий рефакторинг - http://sourcemaking.com

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

Я - большой поклонник ряда и прочитал многие их книги, таким образом, я рекомендовал бы Главные Первые Шаблоны разработки. Можно считать его онлайн через Книжную полку Safari O'Reilly, но твердая копия идет с большим плакатом шаблонов также.

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

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

Как в стороне http://www.developer.com имеет несколько статей в месяц, которые принадлежат шаблонам разработки и их приложениям.Удачи!

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

Я думаю, что должен был бы рекомендовать Осуществить рефакторинг: Улучшение Дизайна Существующего Кода.

Refactoring: Improving the Design of Existing Code
(источник: 2020ok.com)

Много примеров того, как реализовать разумное использование шаблонов.

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

Определением и исходным ответом является источник понятия в Шаблонах разработки. Это, которое издательские договоры с понятием в очень theortical уровень, а не управление говорят, который пропитал область. Их представление состоит в том, что шаблоны разработки являются просто названиями общих идиом; они перечисляют некоторых и выравнивают по ширине их положения.

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

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

Я пошел бы с Бандой Шаблонов разработки Four, заказывают меня

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

Я соглашаюсь с этими ссылками, но нет дружелюбного новичка. К быстрому запуску, изучающему шаблоны разработки простой способ:

Голова Сначала: шаблон разработки

Затем Ваш может проверить более усовершенствованные книги, после того как Вы получили большое изображение (много практических примеров ;-))

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

Шаблоны разработки забавны в этом, Вы только знаете, где использовать шаблон, когда Вы полностью понимаете применимый шаблон. Вещи как Стратегия, Наблюдатель, Итератор, aftera мало практики, можно использовать, не думая слишком трудно. Если Вы находитесь в C#, Вы используете Итератор все время (IEnumerable...), не думая о нем как о шаблоне.

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

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

0
ответ дан 18 December 2019 в 08:33
поделиться
Другие вопросы по тегам:

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