Tag | Design Patterns Posts

I was just reading through Paul Graham's article on "How to Do Philosophy" (http://www.paulgraham.com/... He mentions that philosophy has twisted in the wind for a while because so many smart people who realized that most articles lacked substance did not raise the alarm to others - mostly because it is very difficult to criticize works that are so hard to read. Agreed... But the greater reason is that there is no use in criticizing an essentially useless activity... I studied math as ...
I noticed that Bill Evjen ( http://geekswithblogs.net/e... ) and Kevin Grossnicklaus ( http://geekswithblogs.net/k... ) had started blogs, and they are very prominent managers at Lipper (in Saint Louis, Missouri) which is a division of Reuters ... I thought some of the readers out there may be interested in contributions from someone more junior than these two titans of tech. First off, the interview process at Lipper was impressive. Bill Evjen and two other developers ...
Since Rails, everybody has turned to see what Ruby looks like, why was it the language that had such a great framework built in top of. For most .NET developers including me, that wasn't so easy, while we are already surrounded with new stuff coming to our paradigm. Now that everything is almost stable, .NET 3.0 has turned into a normal part of our applications in certain situations, C# 3.5 seems to be getting the final touches and so is .NET 3.5/VS2008, I tend to believe it's time for checking different ...
You're probably looking at the title of this post wondering how spicing up baby making sex relates to becoming a better developer. First, you should really go and read George's post first to get some context around this. Read it? Great... So over the last few months I've been trying to sink my teeth into some Tech books as part of my becoming a better developer. I sympathize with George in that tech books can sometimes become difficult to plow through. To use another analogy, its like working out: ...
So not only has Justice's little "Become a better developer in 6 months" garnered him the attention of Scott H., but he's now featured in one of the MSDN Canada podcasts (which you can get all the links from via Justice's site here). I thought I'd listen and offer my thoughts on the witty banter and intellectual exchange between John Bristowe and Justice Gray. Let's begin... I can picture Justice lying in bed, listening to John speak his intro over and over and over... "Oh yes John, tell me how wonderful ...
Hell is other people, and Dev.Hell is no exception. While I feel secure in saying that most of the unnecessary strife faced by development comes from immature practices and corporate short-sightedness, there are plenty of problems that come from those of us who live down in the code; demons or damned souls both. Let's start with what developers are not: Developers are not lazy. Devs love technology, they love code, they love working... because working is playing. When devs become discontent it is ...
As part of my quest to become a better developer, I've been reading more tech books (ok I'm trying to finish ONE tech book without lapsing into a coma, but I digress.) The thing is, it's a Java book. Technically it's a design patterns book, but all the code is in Java, so call it what you want... Anyway, in my polylingual travels, I've been converting all the code in the book to vb.net for fun and to make sure I actually get what I'm doing. So today I stumbled across the Java keyword Volatile. I ...
MFC provides a rather neat way of updating the state of window elements in an MFC CWnd (or derived) object during application idle-time. Typically, this is done by setting the element ID and member function in the ON_UPDATE_COMMAND_UI macro, and then declaring the function in the class header file: afx_msg void OnUpdateMyCommand(CCmdUI* pCmdUI); Then you implement the handler as follows: void CMyClass::OnUpdateMyCommand... pCmdUI) { if(IsMyCommandAvailable()) pCmdUI->Enable(TRUE); } This ...
OK, so I am changing bits of my personal challenge slightly. I am going to look beyond the MS certs for some coding ideas and also to hold off on building my own personal website system until I have a much stronger grasp on things that already exist so I don't reinvent the whole wheel. So, modifications to my personal challenge begin now and go here: Books Head First Design Patterns (Currently Reading) {edit} Here is Justice's review of the book. Professional XNA Game Programming for XBox 360 Patterns ...
Well… folks it’s have been a long time that I didn’t post anything in the blog or in the forum. People were asking me, dude… what’s going on? Actually what going on was mmm… nothing. Its just I didn’t post anything. I was kinda busy sometimes but that doesn’t mean I hadn’t got time to post sth in the blog. Any way I’m gonna start doing that thing again. Well I think I have to explain what’s happening on past couple of months. That surely requires dozens of posts. BTW Here I’m gonna give a brief summery. ...
I've had an epiphany... It started with D'Arcy's impeccable logic about Why Venom can't be in Spiderman 4, where D'Arcy uses the Design-Patterns-Girl (DPG for short) from the Head First Design Patterns book as an example. Design-Patterns-Girl + symbiote != Venom. Next, I stumble upon Justice's incredibly intuitive review of the head-First Design Patterns book. I have seen this book at Borders lots of times and Amazon keeps telling me that I *want* this book. But the graphics on the front have always ...
My review of Spiderman 3 generated quite a few comments, many of which had a glaring misunderstanding throughout: whether Venom could come back in a subsequent Spiderman movie. *SPOILER ALERT* In the movie, we see Pete throw a pumpkin bomb into the symbiote, and Eddie jumps at it...the bomb explodes, Eddie is vaporized and only a few pieces of the symbiote are left. Re-read that part: EDDIE IS VAPORIZED...he's dead...gone...Venom didn't have any powers like Cloak did where people could be "swallowed" ...
Regarding my previous experience in software development team, as developer and project manager, I’ve found some capabilities that are required to be a good developer to put a valuable effort in the development team. As mainly I have worked with web based database driven applications, these capabilities are closely or loosely relevant to that context. Of course you can consider some other capabilities regarding the software development context in broader sense, but here I consider the very basic ...
A challenge has been made. It started off with someone named Justice, whom I do not know; the challenge was then extended to me by D'Arcy, who has described his own personal goals. I do accept the challenge, with some caveats. First off... what is it? The challenge, in summary, is how to become a better developer in 6 months. I have certain obstacles with this right now prevent me from going full-blown into it as D'Arcy and Justice: I am currently a software manager, not a developer My time is spent ...
Test Driven Development: Testing methodology associated with Agile Programming in which every chunk of code is covered by unit tests, which must all pass all the time, in an effort to eliminate unit-level and regression bugs during development. Practitioners of TDD write a lot of tests, i.e. an equal number of lines of test code to the size of the production code. (Agile Testing: Testing practice for projects using agile methodologies, treating development as the customer of testing and emphasizing ...
The third and final installment in the Design Patterns for ASP.NET Developers series from DevX is now available. Read Part 3: Advanced Patterns Read Part 2: Custom Controller Patterns Read Part 1: Basic Patterns (Looks like Sreenivas Moqullapalli beat me to the punch on this one.) ...
DevX published a series of three articles that explore the built-in support for standard design patterns in ASP.NET Design Patterns for ASP.NET Developers, Part 1: Basic Patterns Design Patterns for ASP.NET Developers, Part 2: Custom Controller Patterns Design Patterns for ASP.NET Developers, Part 3: Advanced Patterns ...
ArcReady is going really well. We have talked to a lot of architects and aspiring architects in the past couple of weeks. I've posted a bigger update as well as frequently asked questions on my blog here - http://www.joshholmes.com/2... Technorati tags: ArcReady, Design Patterns, Architecture, Tim Landgrave ...
Overview Software Architect with 16 years of development experience using a myriad of technologies. Have exercised technical leadership in all stages of software lifecycle via collaboration with business stakeholders in defining system requirements, object-oriented analysis and design, design reviews, code reviews, and collaboration with developers and IT staff in troubleshooting/debugging production issues. Have written reusable frameworks and components to provide rapid delivery of reliable, extensible ...
Next week starts Developer and IT Pro Days 2007 in Ghent Belgium, 2 days and a preconference with loads of technical sessions in .NET technologies.More info on http://www.dev-itprodays.be/ See the The full developer conference session list on http://blogs.msdn.com/davbo... I'm presenting a session called 'Practical Implementation of Composite Smart Clients with CAB and SCSF'. This session demonstrates the concept ...

Part 2 of the DevX series, Design Patterns for ASP.NET Developers, is now online.  This one focuses on Custom Controller Patterns.

Read Part 2: Custom Controller Patterns

Read Part 1: Basic Patterns

DevX is starting a new series of articles entitled Design Patterns for ASP.NET Developers by Alex Homer. Part 1 is an introduction to design patterns and sets the focus for the rest of the series. I didn't see anything in the article that indicated a time table for release of the remaining parts or how many to expect. In the past their agile development series was only 2 parts and was published over 6 days, but their UML series was 6 parts and was published over 8 months. So who knows how long the ...
Whenever we want to implement a Singleton Pattern, we can always find examples by picking up a book on Design Patterns or by searching through the internet. Most of these implementations are very similar, and have been in use for some time. I have shown one such implementation that is traditionally being practiced in a multi-threaded environment. Singleton the Traditional way: public sealed class Singleton{ private static volatile Singleton instance = null; private static object syncRoot = new Object(); ...
Silver Key is known as a big fan of smart people, especially developers. You can realize it from our exams we do publish to the developer community, or from checking the geeks at the office working with the latest technologies, even if these are not in final releases. We use Visual Studio 2005 and SQL Server 2005 to develop applications using .NET Framework 3.0, Iron Python, and ASP.NET 2.0 Ajax Extensions (formerly known as ATLAS), applying some important methodologies like design patterns for coding ...
I am glad to share my latest article at code project.. Write your own Code Generator or Template Engine in .NET AbstractThis paper demonstrates building a code generator, template engine, template parser, or template processor in .NET. The demo implementation uses cutting edge .NET technologies available today such as C# .NET 2.0, MS Provider Pattern, Enterprise Library January 2006, CodeDom etc. IntroductionIf you have used Code Smith or similar tools, you may be wondering how this type of tools ...
Craig Shoemaker has done is usual outstanding job with the latest installments of his Polymophic Podcast. The last two shows have been a thought provoking interview with Miguel Castro. In it they discuss design patterns that can be used to allow for greater flexibility and extensibility when building applications. This is a topic that has interested me for a while now, especially patterns such as Dependency Injection which give the ability to define at run time the way that an application will act. ...
South Carolina Code Camp 2.0, that is. That's right, we're done. Finished. The End. Turn out the lights, the party's over. Goodnight. Seeya. Bye. The South Carolina Code Camp 2.0 kicked off on Friday, September 15th with an excellent dinner at The Olympian Restaurant for all the speakers and volunteers. This meal was provided by Magenic Technologies and was our way of saying thanks for all the hard work our speakers had done so far and our volunteers were about to do. We hung out for a couple hours ...
I was doing what I typically do in my very small amount of down time I was reading my blog feeds from some of my favorite bloggers. One blog that I read religiously is Brian Button. I've had the pleasure to take part (a small one) in a C# design patterns group in NYC where on occasion Brian chimes in with some great advise and knowledge. I particularly liked this article about 'Eating Toast' and thought it was a great post. Read here. ...
One of the side-effects of being new out to learning Object Oriented Principles is the propensity to see everything as a subclass of something else. As if all objects shoudl derive from IThing since surely they might ALL have to have some common behaviour, right?!? This is motivated by a GOOD desire...wanting to eliminate duplication of code. So the novice reaches into his toolbox and gets *the* hammer and subclasses, hoping that all inheritors need something like the method he is building. There ...
Head First Design Patterns: A great first patterns book. Contains much more approachable discussions. Patterns of Enterprise Application Architecture: An extension of the Design Patterns book. Applying Domain-Driven Design and Patterns: With Examples in C# and .NET: A recent addition that synthesizes TDD, DDD, ORM, AOP, IoC into one text that is focused on .Net. Design Patterns: Elements of Reusable Object-Oriented Software: The canonical book on software patterns. Refactoring to Patterns: Surprise, ...
I have been reading several posts from folks I respect for their advancement of practices like TDD, Agile ,DDD, and so on. Their wisdom has helped give me a great toolset to build deep, maintainable code that is production-minded throughout now. This is contrasted to writing what amounted to 'demoware' as I tried to write maintainable code using RAD tools. Still, I think Agile-minded leaders need to bear in mind that the enemy is not Microsoft if their creed is in fact rooted in the pragmatism of ...
Recommend that anyone who needs a UML tool checks this out http://www.staruml.com/ This is a most excellent free tool that supports UML 2, various approches, code generation, reverse engineering, Gang of Four design patterns and document generation to name but a few features. I also find that the GUI allows you to create diagrams a lot quicker than you can with the likes of enterprise architect, which is kind of bloated and cumbersome. I recommend that anyone needing a UML tool for a small to medium ...
Just read a great post on Jeremy Miller's blog. He offers some general ways to get started learning design patterns in coding. Having started with Microsoft technologies, I felt overwhelmed by all the "stuff" that was needed to be done for what I thought should be simple operations...this is mostly because Microsoft doesn't encourage a knowledge of design patterns in all their examples and literature. This is changing now, I realize, but they are way behind the Java folks as far as I can tell (google ...
1. When the application being built today will not change, the code accurately captures all requirements, and there are no planned enhancements or features. The application you are building will be the first and last release.2. Your application’s code requirements are unique. No software engineer has ever built anything like it. The program does not deal with any of these routing issues like object creation and event notification.3. There is plenty of time to prototype all of your new design ...
Enterprise Design Patterns are a way of life now as software architects. The "Gang of Four" laid the groundwork for proposing and enumerating these design patterns in their book "Design Patterns: Elements of Reusable Object-Oriented Software". Make sure you have this book. Sometimes it's good to keep it underneath your pillow, or something like that... Microsoft Press has of course also released a book entitled "Enterprise Solution Patterns Using Microsoft .Net: Version 2.0 : Patterns & Practices" ...
Ah...so continuing my search for the perfect architecture (joke) my current issue was the usefulness of Data Transfer Objects (DTOs) at my last post. I am still dumfounded when I find what might be considered "high-ranking" Microsoft folks admit to either ignoring or knwoing little about design patterns. I know design patterns are just a means to an end of good software delivered timely and fit for scalability, but it seems like they should at least be in the toolbox...but I digress. My current confusion ...
Two days ago I posted about the Static Members Best Practices, I now realize I might need to step back just a little bit and get into the debate of why to have static members in the first place. It's an interesting debate worth having especially when it comes to your designs. Why Use Static Members? When I have conducted code reviews in the past, I found many times that people would use static methods and properties all over the place. The only real justification that was used was that it cut down ...
June 8th, 2006. InfoQ.com Enterprise Software Development Community has launched today, having previously been live in testing mode since May 17th. InfoQ is a new Enterprise Software Development news / information community serving the Java, .NET, Ruby, SOA, and Agile communities, with content focused for technical architects, team leads and project managers. InfoQ is the only community in the world serving these communities in one place and is also a technological example of what a modern online ...
This is my first blog post ever. D'Arcy convinced me that I should start a blog to talk about all the good times at Tech-Ed. So here we go. I'm headed down to Boston for Tech-Ed 2006 in a couple days. Should be a great time. This is my first Tech-Ed and I've been looking through the list of sessions available and it's pretty overwhelming. Out of the 700 or sessions available, I picked out about 50 or so I might be interested in attending. I'll probably only have time for about a dozen or so, so I ...
I have signed on as the Editor in Chief of the .NET queue at InfoQ.com. InfoQ (information queue) is a new online community that is currently un-launched (Beta is so played) InfoQ is focussed on change and innovation in enterprise software development. InfoQ is being published by C4Media, a company founded by TheServerSide.com creator and EJB Design Patterns author Floyd Marinescu, Roxanne Beverstein, and Webwork committer Alex Popescu. InfoQ is different from other sites such as The ServerSide in ...
Eventually, all roads lead to home or something like that. I'm back in town and back in the game. A few things to update: - GWB Game Contest, yes. still working on that one. My Tank game without tanks has suffered a minor setback, but should be playable in time. - Reality Check, yes. we have a space, should be open mid July. - South Carolina Code Camp 2.0 - still on track, still need a location. We have 3 months and 16 days to go. (We spent less time preparing for SCCC 1.0 and that was a huge success.) ...
industrial logic has some papers worth reading here, if you’re trying to get your feet wet with Design Patterns and Refactoring. Featured Postings Smells to Refactorings Cheat SheetWe developed this handy cheat sheet as a teaching aid while teaching our Refactoring Challenge Activity. You'll find a table that maps code smells to their likely refactorings with corresponding page references to source material contained in the books Refactoring: Improving the Design of Existing Code by Martin ...
I will be giving an AOP presentation to the Atlanta .NET user group the 27th at the Microsoft offices in Alpharetta http://www.atlantadotnet.org/. The following is a description of the presentation. Joe Engineer has been following established concepts for quite some time, he uses TDD, refactors his code often, and even uses design patterns to help reduce coupling within his code. One day in looking at his code Joe came accross the following code ... public class Customer : MyObjectBase, ISavableObject, ...
I decided to look into the design patterns so I can write good code. These days I am learning the Factory Pattern. The first important rule is "Program to an interface and not the implementation". What does it mean? We all write code like this: Student student = new Student(); This is an example of programming to the implementation. This is because Student is a concreate class and when we type new then we are actually making an object of the concreate class. This way we are exposing the concreate ...
Yahoo has created a design pattern library in their developer section and can be found here. Sadly no code drops to accompany the design patterns but it's a good start. Nice one Yahoo! I hope MSN and Google will follow suit. ...
There's a nice video from last week's VSLive presentation on the Fawcette web site: Outlining the Future of Software Chappell & Associates' David Chappell detailed the design patterns for a new breed of service-oriented applications to a standing-room-only crowd at VSLive! on Tuesday. See how to combine Windows Communication Foundation and Windows Workflow Foundation to create fourth-generation apps. You have to be registered with the site to view the presentation - I don't remember if that's ...
I missed out on patterns at Uni, they were just starting to take off in a big way in the land of OO and so we wasted our time learning about formal specification languages and the like. Anyway, I came across a great book that explains design patterns and WHY they are can be useful. I always found pattern books do a great (if dull) job of explaining the pattern, but struggle explaining just why you should use them. But this book - Head First Design Patterns, is LOADS better. It gives really simple ...
Next important part of Composite UI, if not the most significant, is the WorkItem. According to documentation it “a run-time container for components that are working together to fulfill a use case. These components may consist of SmartParts, controllers, services, UIElements, and other components.” So if we look at Outlook as example here, we have use cases like: browsing email, scheduling appointments or looking up contacts. As I understand, these would correspond to main WorkItems ...
Microsoft has released its second .NET 2.0 application block. (If you include Enterprise Library 2.0 as one.) Smart Client - Composite UI Application Block This page provides an overview of the Composite UI Application Block. This application block is a reusable, source code–based component based on the Microsoft .NET Framework 2.0. It provides proven practices to build complex smart client user interfaces based on well known design patterns such as the Composite pattern, in which simple user ...