14
En C# y en Españo Martín Salías Southworks

Implementation Patterns

Embed Size (px)

DESCRIPTION

En C# y en español

Citation preview

Page 1: Implementation Patterns

En C# y en Español

Martín SalíasSouthworks

Page 2: Implementation Patterns

Introducción

patronesvalores y principios

motivación

Clase

Comportamiento

Métodos

Estado

Colecciones

Frameworks

lógica

similar

lógica

dividida

datosdiferentes

datosmúltiples

Page 3: Implementation Patterns

Motivación

• Los programas se leen más seguido de lo que se escriben.

• Nunca se termina; siempre se invierte más en modificaciones que inicialmente.

• Se estructuran con un juego básico de conceptos de estado y control de flujo.

• Los lectores deben entender detalle y concepto, moviéndose de uno a otro.

Page 4: Implementation Patterns

Cálculo

costototal = costodesarrollo + costomantenimiento

costocomprensión

+ costocambio

+ costoprueba

+ costodespliegue

Page 5: Implementation Patterns

Valores

Comunicación

Simplicidad

Flexibilidad

Page 6: Implementation Patterns

Principios

• Consecuencias locales• Minimizar la repetición• Lógica y datos juntos• Simetría• Expresiones declarativas• Frecuencia de cambios

Page 7: Implementation Patterns

PATRONES

Page 8: Implementation Patterns

Clases

Class• Simple Superclass

Name• Qualified Subclass

name• Abstract Interface• Versioned Interface• Abstract Class• Value Object

Specialization• Subclass• Implementor• Inner Class• Instance-specific behavior• Conditional• Delegation• Pluggable Selector• Anonymous Inner Class• Library Class

Page 9: Implementation Patterns

Estado

State• Access

– Direct Access– Indirect Access

• Common State• Variable State• Extrinsic State

Variable• Local Variable• Field• Parameter• Collecting Parameter• Parameter Object• Constant• Role-Suggesting Name• Declared Type• Initialization

– Eager Initialization– Lazy Initialization

Page 10: Implementation Patterns

Comportamiento

• Control Flow• Main Flow• Message• Choosing Message• Double Dispatch• Decomposing Message• Reversing Message• Inviting Message• Explaining Message

• Exceptional Flow• Guard Clause• Exception• Checked Exception• Exception Propagation

Page 11: Implementation Patterns

Métodos• Composed Method• Intention-Revealing Name• Method Visibility• Method Object• Overriden Method• Overloaded Method• Method Return Type• Method Comment• Helper Method• Debug Print Method• Conversion• Conversion Method• Conversion Constructor

• Creation• Complete Constructor• Factory Method• Internal Factory• Collection Accessor Method• Boolean Setting Method• Query Method• Equality Method• Getting Method• Setting Method• Safe Copy

Page 12: Implementation Patterns

Colecciones

• Array• Iterable• Collection• List• Set• SortedSet• Map

Page 13: Implementation Patterns

Recursos

Page 14: Implementation Patterns

DEBATE

[email protected]