Upload
martin-salias
View
406
Download
0
Embed Size (px)
DESCRIPTION
En C# y en español
Citation preview
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