O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Null object pattern

1.769 visualizações

Publicada em

Introduces design patterns and introduces the null object pattern, symptoms indicating it should be applied, a demonstration, and examples in popular Ruby gems

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Null object pattern

  1. 1. Null Object Pattern Simplicity in doing nothing
  2. 2. What is a Design Pattern? ● A reusable solution to a common problem ● Kent Beck and Ward Cunningham applied to computer science in 1987 ● Defined in Design Patterns: Elements of Reusable Object-Oriented Software by GoF
  3. 3. Null Object Pattern ● Categorized as behavioral pattern ● Similar to the strategy, or state pattern ● Polymorphism ● null interface that can be used by a collaborator
  4. 4. When To Use ● Symptoms include null checks on properties ● Conditional logic to display an object ● Use of a placeholder
  5. 5. Demo
  6. 6. ● Bespoke: lib/search/solr/empty_result_set.rb ● Cheetah: lib/cheetah/messenger/null_messenger.rb ● Display_case: lib/display_case/exhibit.rb (null decorator) ● Factory_girl: lib/factory_girl/null_factory.rb Examples in our Code
  7. 7. Extra Reading Blog post on Factory Girl NullFactory class: http://robots.thoughtbot.com/design-patterns-in- the-wild-null-object