Conceptos como polimorfismo sólo son posibles usando la jerarquía o interfaces • El compilador sabe de antemano el comportamiento que un objeto puede llegar a tener
representan los datos class Model < ActiveRecord::Base # Associations has_many ... belongs_to ... # Validations validates ... # Methods related to the model structure end
se inicializan con los datos y se invocan con parámetros adicionales class Context def initialize(model, ...) @role = Role.new(model) ... end def call(parameter) ... end end