implementation patterns

Post on 29-Jun-2015

388 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

En C# y en español

TRANSCRIPT

En C# y en Español

Martín SalíasSouthworks

Introducción

patronesvalores y principios

motivación

Clase

Comportamiento

Métodos

Estado

Colecciones

Frameworks

lógica

similar

lógica

dividida

datosdiferentes

datosmúltiples

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.

Cálculo

costototal = costodesarrollo + costomantenimiento

costocomprensión

+ costocambio

+ costoprueba

+ costodespliegue

Valores

Comunicación

Simplicidad

Flexibilidad

Principios

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

PATRONES

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

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

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

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

Colecciones

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

Recursos

DEBATE

blog.salias.com.armartin@salias.com.ar

top related