Programming patterns. Programming patterns