Foundations of Programming - Karl Seguin
Foundations of Programming - Karl Seguin
Foundations of Programming - Karl Seguin
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Foundations</strong> <strong>of</strong> <strong>Programming</strong><br />
Table <strong>of</strong> Contents<br />
About the Author ...............................................................................................................................6<br />
ALT.NET .............................................................................................................................................7<br />
Goals ..............................................................................................................................................8<br />
Simplicity ........................................................................................................................................8<br />
YAGNI.............................................................................................................................................8<br />
Last Responsible Moment................................................................................................................9<br />
DRY ................................................................................................................................................9<br />
Explicitness and Cohesion ................................................................................................................9<br />
Coupling .........................................................................................................................................9<br />
Unit Tests and Continuous Integration .............................................................................................9<br />
In This Chapter..............................................................................................................................10<br />
Domain Driven Design.......................................................................................................................11<br />
Domain/Data Driven Design...........................................................................................................11<br />
Users, Clients and Stakeholders .....................................................................................................12<br />
The Domain Object .......................................................................................................................13<br />
UI .................................................................................................................................................15<br />
Tricks and Tips ..............................................................................................................................16<br />
Factory Pattern .........................................................................................................................16<br />
Access Modifiers .......................................................................................................................17<br />
Interfaces .................................................................................................................................17<br />
Information Hiding and Encapsulation ........................................................................................18<br />
In This Chapter..............................................................................................................................19<br />
Persistence.......................................................................................................................................20<br />
The Gap ........................................................................................................................................20<br />
DataMapper .................................................................................................................................20<br />
We have a problem ...................................................................................................................23<br />
Limitations................................................................................................................................24<br />
In This Chapter..............................................................................................................................25<br />
Dependency Injection .......................................................................................................................26<br />
Sneak Peak at Unit Testing.............................................................................................................27<br />
Don’t avoid Coupling like the Plague ..............................................................................................28<br />
Dependency Injection....................................................................................................................28<br />
Constructor Injection.................................................................................................................28<br />
Frameworks..............................................................................................................................30<br />
A Final Improvement .................................................................................................................32<br />
In This Chapter..............................................................................................................................33<br />
Unit Testing......................................................................................................................................34<br />
Why Wasn't I Unit Testing 3 Years Ago?..........................................................................................35<br />
The Tools ......................................................................................................................................36<br />
nUnit ........................................................................................................................................36<br />
<strong>Foundations</strong> <strong>of</strong> <strong>Programming</strong> Copyright © <strong>Karl</strong> <strong>Seguin</strong> www.codebetter.com<br />
4