Design

Introduction Last time we spent a lot of time on the SelectionController. To conclude the series, we will hook the selection behavior into our CustomGridView. Recap: Custom GridView Guidelines - Preface Custom GridView Guidelines - Part 1 - Preparing the Canvas Custom GridView Guidelines - Part 2 - Selection Interface Custom GridView Guidelines - Part 3 - SelectionController Implementing the IRowSelectionView There are quite a few events on the view that the CustomGridView needs to implement. In...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Introduction This part in the series will focus on the SelectionController. Here is where most of the work is done. We've already covered the view interface, IRowSelectionView. Now we will see how the controller interacts with the view. Recap: Custom GridView Guidelines - Preface Custom GridView Guidelines - Part 1 - Preparing the Canvas Custom GridView Guidelines - Part 2 - Selection Interface Capturing Shift and Ctrl Key Status We want to emulate multi-selection as in Windows Explorer. The Shift...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Introduction I briefly described the design approach in Part 1. This part in the series will explore the ways in which the custom GridView communicates to the controller. I extend my apologies for the lack of code. I am limited in what I can provide. I hope that these guidelines will help point you in the right direction. Classes / Interfaces CustomGridView - The GridView we are customizing SelectionController - Responsible for the row selection behavior IRowSelectionView - How CustomGridView and...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Background Way back in March I posted about a custom GridView I was working on. Then in June, I said that I would be posting some guidelines "in the coming weeks". Needless to say, I've been busy with other things. I am hoping to provide some basic guidelines on how to customize a ASP.Net GridView. I am no expert. The experts build components for retail use. Also, I've taken a server-side approach to the problem which is perhaps a little outdated with AJAX technology available. In my case, I use...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Recently, the CEO of Sprint could be seen in TV commercials stating "Technology is only great when you know how to use it." Here is an article that digs a little deeper into this ad campaign. The purpose of the campaign is to highlight Sprint's customer service, which of course is vitally important to any company providing products or services. I am not here to criticize Sprint. In fact, if you read the article, you will see that they are addressing technology simplicity as well as customer service....
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Whoa! Why does it need fixing if it is not broken? I'd like to explore the definition of "broken". Here is a modest list of signs of broken code. A test is failing (I know, painfully obvious) The code doesn't do what the user expects. (Likely, you actually have a broken test or it's missing altogether.) The code is hard to read, hard to enhance and brittle. I think the first two bullets are obvious and the customer will see the value in fixing the code. The final bullet leads us to refactoring. How...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Clearly MS hasn’t caught up with the third party tools that are out there? Which do you guys use? ReSharper Refactor! Pro C# Refactory Visual Assist X I've used Refactor!Pro on a previous project and liked it quite a bit. I assume a lot of these include the same basic features. Perhaps the difference is in the number of refactorings and additional features outside of refactoring. ReSharper seems to be the most widely used. But, does it give the most bang for your buck? Does it meet the needs of a...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
I recently added a new page to my application that is very similar in behavior to a page I had already completed a couple months back. In fact, the similarities propagate down through the business and data layers as well. Because of this, I was able to introduce some base classes to limit duplication. In fact, I started all of this with a generic base test class. All of the base classes (with generics) were pretty straight forward. However, generics wouldn't help me when it came to the UI (aspx)....
Posted On Monday, July 28, 2008 5:17 PM | Feedback (0)
Filed Under [ Design ]
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
Before I get started on Generic Classes in .Net, I'd like to give credit to CopySourceAsHtml for my new formatting of code blocks in my blog. I made some of my own enhancements, but I'd still be using the boring black on yellow formatting without CSAH. To learn how to get it to work on VS2008, go here (be sure to read the comments if you are running on XP). We've all used generic classes without thinking much about it. I use List<T> extensively (perhaps abusively). I really only discovered...
Posted On Monday, July 21, 2008 11:07 AM | Feedback (0)
Filed Under [ Design ]
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati
I received quite a bit of feedback regarding my Join extension to IEnumerable that generates a comma separated list. The purpose was to emulate string.Join(), but to add more flexibility as to what is "joined". I took some time aside to investigate some of the suggestions and alternatives to my implementation. I should note, that I would not normally do this. I try to avoid premature optimization. However, there are certain practices that can be learned that improve performance in general (like using...
  • Share This Post:
  • Share on Twitter
  • Share on Facebook
  • Share on Technorati