Thursday, February 24, 2011

Additional Links for Design Patterns

I've had some folks who have attended my Design Patterns session suggest some links that they have found useful.  (And if you want to check out the session materials, just go to my website: Learn the Lingo: Design Patterns.)

Head First Labs - Head First Design Patterns
http://headfirstlabs.com/books/hfdp/
This is the link for the "Head First Design Patterns" book that I've recommended.  And there's some really good news.  I noted that the book is written with Java samples, but that it's not too hard for a C# developer to follow along.  The good news is that the labs includes a link to a collection of C# samples.  Just search for "C#" on the labs page, and you should find it.

Head First Design Patterns Study Group
http://onjava.com/pub/a/onjava/2005/04/06/designpatterns.html
The O'Reilly On Java website has suggestions on forming your own study group based on Head First Design Patterns.  I've heard from some folks who have done this, and they found that it was a good learning experience for everyone involved.  Discussion with other developers usually leads to new insights for everyone.

Do Factory - Design Pattern Framework 4
http://dofactory.com/Default.aspx
This site sells a product called Design Pattern Framework 4.  As a disclaimer, I have not actually used this product, nor do I really know much about this.  But I have received recommendations from session attendees, so it may be something worth looking into further.  In going through the information, there is also an endorsement from Miguel Castro (who is one of the big players in the .NET community), so that leads me into wanting to look at this a little more closely.

If you've had experiences with either the Head First Design Patterns study group or using the Design Pattern Framework 4, please drop me a line and let me know what you think.

Happy Coding!

Sunday, February 6, 2011

Upcoming Speaking Engagements

I have a couple of speaking engagements scheduled in February.  Feel free to come out if you can.

Feburary 15, 2011
Disney .NET Developers Group - Burbank, CA
Web cast available.  Disney employees and Cast Members can check TechSpot for details.

February 16, 2011
San Gabriel Valley .NET Developers Group - Monrovia, CA
http://sgvdotnet.org/

Also, it looks like I'll be heading back to the Desert Code Camp on April 2, 2011 in Chandler, AZ.  More information here: http://apr2011.desertcodecamp.com/

Hope to see you there!  And if you have a user group or other event you'd like me to come speak at, just drop me a line and let me know: feedback@jeremybytes.com.

Happy Coding!

Tuesday, February 1, 2011

Thank You for Coming!

I want to thank everyone who attended one of my sessions at the SoCal Code Camp this past weekend (and even those of you who were brave enough to attend more than one of my sessions).  As a reminder, the Walkthroughs, Slides, and Code Samples are all available for download: http://www.jeremybytes.com/Demos.aspx.

If you have any questions, suggestions, or even session topics you'd like to see me present in the future, feel free to drop me a line at feedback@jeremybytes.com.

Until next time...

Happy Coding!

Tuesday, January 18, 2011

Mini Review: Code - The Hidden Language of Computer Hardware and Software

I recently finished reading Code: the Hidden Language of Computer Hardware and Software by Charles Petzold.  Here are a few quick thoughts:

This is not really a programming book; it is a description of how computers work. Designed for the layman, it starts off with the basics of codes (Morse Code, Braille, binary codes) and then moves on to how to communicate those codes using electro-mechanical relays (such as telegraph relays). From there, it talks about how these relays can be combined in various ways to create logical operations and built up to a simple adder -- the basic building block of computer hardware. The components are pieced together from the earliest computers to modern machines (well, almost modern -- the book was written in 1999). As a non-CS major, I found this book to be very approachable and it gave me a good understanding of how software can be turned into instructions for the hardware.

Overall, this was an interesting read.  For me, it went quite quickly (just a few weeks in small chunks), and I have a better feel for how computer hardware works at its most basic level.

Happy Coding!

Sunday, January 9, 2011

Update: Learn to Love Lambdas

Lambda Expressions have turned out to be a popular topic (I've got three presentations scheduled for January alone).  With that in mind, I have expanded the Learn to Love Lambdas walkthrough and demo code.

Get It Here
You can get the complete walkthrough (18 pages) and code samples here:
http://www.jeremybytes.com/Demos.aspx#LLL

Direct Links:
PDF Walkthrough
Code Download

Happy Coding!

Saturday, January 8, 2011

Quick Bytes: Get Func-y

If you look into the LINQ extension methods, you will run across Func quite a bit.  If you see Func in a method definition, you can treat it like a big sign that says "Put your lambda expression here."  This quick demo will show that Func is simply a shorthand for creating a delegate and that Func and lambdas go together hand-in-hand.

Get It Here
You can get the walkthrough (just 5 pages) and the code sample here: http://www.jeremybytes.com/demos.aspx#QBGF.

Direct Links:
PDF Walkthrough
Code Download

Happy Coding!

Monday, January 3, 2011

Book Review: Pro ASP.NET MVC 2 Framework

I just finished reading Pro ASP.NET MVC 2 Framework by Steven Sanderson (Apress).  What I found was a good introduction to ASP.NET MVC as well as a deeper dive into the majority of the features.

This is labeled as "Intermediate to Advanced".  It assumes that you are familiar with C# and .NET, but it doesn't expect you to be an ASP.NET WebForms programmer.  If you are familiar with web technologies (HTML, CSS, Javascript), then you should be just fine.  And although this is covering the 2nd version of the ASP.NET MVC framework, it does not assume that you have any prior knowledge of version 1.

There are several things I liked about this book.  First, it is very approachable.  The tone is inviting and easy to understand.  Next, the code samples are thorough.  Since ASP.NET MVC 2 can be used with either .NET 3.5 or .NET 4.0, it shows how to use the framework in either environment, and the differences are pointed out where the environments vary.  Finally, the overall organization makes you want to read more.

Part 1 includes an introduction to ASP.NET MVC 2 and a sample application showing a real-world (although simplified) implementation of the framework.  Since the MVC pattern lends itself to unit testing and test-driven development (TDD), the book also shows a few useful techniques including using dependency injection and mocking with unit testing.  And to keep things more accessible, Sanderson uses free tools (such as NTest) for the examples since not all versions of Visual Studio include unit testing.

Part 2 takes all of the features that were introduced in Part 1 and goes into them in detail.  This includes all of the core features of ASP.NET MVC including Routing, Controllers, Actions, Views, and Models.  But going beyond just a description of using what's "in the box", the book also talks about how you can extend the framework yourself, such as by creating custom controller classes, filters, or even your own view engine.  In addition, it gives a number of helpful techniques for putting together user interfaces including a trip into the world of AJAX and jQuery.

Part 3 covers some of the nitty-gritty details including Security and Deployment.  This is where the world of ASP.NET MVC and WebForms starts to overlap.  And this last part also goes through many of the features of the standard ASP.NET platform that you will want to make use of in your MVC applications.

Unlike my previous review of an ASP.NET MVC book, I highly recommend this book.  The quality of the book is very high.  There are few errors (no book is perfect) and the code samples are well done and complete.  I have become a big fan of ASP.NET MVC.  Although it is not the "best" or "only" way to write web applications, it is a great tool to have in the toolbox.  I can think of a number of applications from my past that would have been much more elegant using ASP.NET MVC.

If you are curious and want to get started in the technology, Pro ASP.NET MVC2 Framework is a great way to go.  Part 1 will give you a taste of the feature; Part 2 will take you through each one in depth; and Part 3 will show how MVC integrates with the rest of the ASP.NET framework.

Happy Coding!