FoundationsOfProgramming

FoundationsOfProgramming - Foundations of Programming...

Info icon This preview shows pages 1–5. Sign up to view the full content.

View Full Document Right Arrow Icon
Foundations of Programming Building Better Software By Karl Seguin WWW.CODEBETTER.COM
Image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
This page was intentionally left blank Foundations of Programming Copyright © Karl Seguin www.codebetter.com
Image of page 2
License The Foundations of Programming book is licensed under the Attribution-NonCommercial-Share-Alike 3.0 Unported license. You are basically free to copy, distribute and display the book. However, I ask that you always attribute the book to me, Karl Seguin, do not use it for commercial purposes and share any alterations you make under the same license. You can see the full text of the license at: http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode Downloadable Learning Application Reading about code is a good way to learn, but if you're anything like me, nothing beats a real application. That's why I created the Canvas Learning Application - a simple (yet complete) ASP.NET MVC website which leverages many of the ideas and tools covered in this book. The application is a Visual Studio 2008 solution with helpful inline documentation meant to help you bridge the gap between theory and practice. The Canvas Application and this book are pretty independent, so you can approach this journey however you prefer. http://codebetter.com/blogs/karlseguin/archive/2009/05/25/revisiting-codebetter-canvas.aspx Acknowledgement There are countless of people who deserve thanks. This book is but a small contribution to the incalculable time donated and knowledge shared by the software community at large. Without the quality books, forums, newsgroup posts, blogs, libraries and open source projects, I would still be trying to figure out why my ASP script was timing-out while looping through a recordset (stupid MoveNext). It's no surprise that the software community has leveraged the openness of the internet more than any other profession in order to advance our cause. What is surprising is how the phenomenon appears to have gone unnoticed. Good! Of course, there is one special person without whom this couldn't have happened. To Wendy, People call me lucky for being with someone as beautiful and intelligent as you. They don't know the half of it. You are not only beautiful and intelligent, but you let me spend far too much time on my computer, either working, learning, writing or playing. You're also more than happy to read over my stuff or listen to me blab on about nonsense. I don't appreciate you nearly as much as I should. Foundations of Programming Copyright © Karl Seguin www.codebetter.com
Image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Table of Contents About the Author ........................................................................................................................................ 6 ALT.NET ........................................................................................................................................................ 7 Goals ........................................................................................................................................................ 8 Simplicity ................................................................................................................................................. 8 YAGNI ....................................................................................................................................................... 8 Last Responsible Moment ........................................................................................................................ 9 DRY .......................................................................................................................................................... 9 Explicitness and Cohesion ........................................................................................................................ 9 Coupling ................................................................................................................................................... 9 Unit Tests and Continuous Integration ..................................................................................................... 9 In This Chapter ....................................................................................................................................... 10 Domain Driven Design ............................................................................................................................... 11 Domain/Data Driven Design .................................................................................................................. 11 Users, Clients and Stakeholders ............................................................................................................. 12 The Domain Object ................................................................................................................................ 13 UI ........................................................................................................................................................... 15 Tricks and Tips ........................................................................................................................................ 16 Factory Pattern .................................................................................................................................. 16 Access Modifiers ................................................................................................................................ 17 Interfaces ........................................................................................................................................... 17 Information Hiding and Encapsulation ............................................................................................... 18 In This Chapter ....................................................................................................................................... 19 Persistence ................................................................................................................................................ 20 The Gap ................................................................................................................................................. 20 DataMapper ........................................................................................................................................... 20 We have a problem ............................................................................................................................ 23 Limitations ......................................................................................................................................... 24 In This Chapter ....................................................................................................................................... 25
Image of page 4
Image of page 5
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern