Шаблоны разработки [дубликат]

import logging
selenium_logger = logging.getLogger('selenium.webdriver.remote.remote_connection')
# Only display possible problems
selenium_logger.setLevel(logging.WARNING)
5
задан Community 23 May 2017 в 10:27
поделиться

6 ответов

Обычно, если вы все делаете правильно, для этого есть шаблон. Теперь вы можете знать, что используете его.

Если вы делаете это неправильно, для этого есть антишаблон. Но вы определенно не знаете, что используете его.

3
ответ дан 14 December 2019 в 08:58
поделиться

You shouldn't always set out to make your software fit a design pattern, but if it matches one you use it. In many cases most things you do will have a design pattern that is merely a pattern that was observed from many different software implementations as being common.

For instance if you have a set of classes that all need to be synchronized. Well that works well with the Observer or Publish/Subscribe pattern where one class is the notifier and the other listens for notifications. Observer pattern

Or say you want to limit memory use in a game engine then you might create an ObjectPool. Object pool

Or maybe you want to simplify a set of objects into a simplr API then use the Facade pattern: Facade pattern

Many times just using functional patterns like encapsulation or inheritance are fine. It depends on the problem. In most cases much of what you try to code will be solved in a pattern, but patterns aren't the only way to code. In many cases you start designing or have a need and it becomes a pattern.

Remember patterns originated from observing many types of software problems, it is not the starting point but the reflection of software architecture.

Design pattern (computer science)

Many samples of patterns at dofactory.com: Design pattern tutorial by dofactory

Python design patterns: http://video.google.com/videoplay?docid=-3035093035748181693

Forcing design patterns is like forcing OO. It should come naturally from needs in the project at hand.

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

Шаблоны Gang of Four (GoF) - хороший ресурс.

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

Все четко определенные шаблоны имеют фон, контекст и проблему, решаемую шаблоном.

Весь смысл шаблона в том, чтобы сообщить вам, когда он уместен.

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

Посмотрите прекрасную книгу «Эмерджентный дизайн: эволюционная природа профессиональной разработки программного обеспечения» . Он покажет вам, как мы пришли к шаблонам проектирования, и даст вам хорошие инструкции по созданию архитектуры вашего кода.

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

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

Например, если вы видите, что существует класс, который управляет потоком приложения, тогда шаблон контроллера имеет смысл.

Другой способ использования шаблонов проектирования - написать свою программу, заставьте ее работать, а затем выполните рефакторинг с использованием шаблонов проектирования. Я считаю, что Мартин Фаулер написал книгу на эту тему, но я не положительно отношусь к автору.

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

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

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