Upload
chris-eargle
View
1.907
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
C# NINJITSU
Blog: kodefuguru.com
Email: [email protected]
Twitter: @kodefuguru
Facebook: facebook.com/kodefuguru
Readable
Maintainable
Most General Interface
Most General Interface
Interface
Inheritance
Most General Interface
IEnumerable<T>
Most General Interface
AsEnumerable()
Most General Interface
DEMO
Favor Fluency
Favor Fluency
Method
Chaining
Favor Fluency
Left
To
Right
Favor Fluency
context
Favor Fluency
Complex
Types
Favor Fluency
out
Favor Fluency
ref
Favor Fluency
LINQ
Favor Fluency
DEMO
Avoid Side Effects
Avoid Side Effects
State
Avoid Side Effects
Purity
Avoid Side Effects
Encapsulation
Avoid Side Effects
DEMO
Favor Declarative Code
Favor Declarative Code
What
not
How
Favor Declarative Code
Initializers
Favor Declarative Code
?
Favor Declarative Code
??
Favor Declarative Code
LINQ
Favor Declarative Code
DEMO
Strive for Functional Cohesion
Strive for Functional Cohesion
Strive
for
High Cohesion
Strive for Functional Cohesion
Single Responsibility
Principle
Strive for Functional Cohesion
Helper
Classes
Strive for Functional Cohesion
Extension
Methods
Strive for Functional Cohesion
DEMO
Extension Over Inheritance
Extension Over Inheritance
Extension Methods
Extension Over Inheritance
Interfaces
Extension Over Inheritance
Lego
Classes
Extension Over Inheritance
DEMO
Thank You