I wrote this application in early 2002 to begin learning the .Net framework.
It maintains a SQL Server database containing images that can each belong to an infinite
number of categories. In this demo, it is being
used as a Family Photo application but it could just as easily be used for
categorization and retrieval of any kind of images such as a Real Estate or Used Car Search application that
enables search by various attributes.
At the core of the application is the database and a single component that
handles all update and retrieval. Various Windows Forms, ASPX Pages, and Web
Services can communicate with the common database access component. The web portion of the
application on the next page is almost trivial containing only about 135
lines of code () - all of the
functionality, power, and complexity of the application is at the common
core. This is an example of three-tier design. The code at the core would
be identical for Family Photos, Real Estate Sales, Used Car Search, or any
other such application.
Most of the time, it's a good idea to put as little code as possible in a
Web Application and put the most functionality in central components and
database stored procedures (but not always).
It would be easy to develop a cell phone app or a Windows Forms
app to do what this demo asp.net app does because just the GUI would change.
As an example of the advantage of 3-layer design, this web app was originally written,
in 2002, in VB.Net using Framework 1.1. In 2005 I rewrote the 135 line presentation
program in C# using Framework 2.0 to take advantage of new ASP.Net presentation
features. Nothing in the base component needed to change except for the connectionstring
to a SQL Server 2005 database. Now in 2006 I have again updated the GUI using
the new ATLAS classes to provide AJAX capability to the picture selection and thumbnail
display functionality.
|