I am a programmer in a small department creating some new tools and applications with ASPX and SQL, and explaining the methodology to co-workers, and writing documentation (so the question here qualifies as 'teaching'). Having programmed for 30 years and many times created particular systems of multiple connected parts, I think that OOP is probably not the big deal we make of it, but I would like to know how I could have designed the system described below in a more Object Oriented way - to recast it if needed and move forward with more explainable projects in the future.
In brief, the "File Cabinet" system I created recently is to facilitate recreating the intranet used by hundreds of people where I work. The intranet consists of many thousands of files and links to internal and external pages, programs and tools. The File Cabinet idea says that there are two basic ways to show links on the intranet and allow authorized users to make changes, instead of asking the web maintainer to make every single change for them. The two ways are:
Present a folder in the OS as a set of links to files and folders. Users make changes by placing new files in the appropriate place in the filesystem. This display method duplicates some Windows Explorer functionality in a web page.
Provide a method where authorized users can maintain sets of 'Sections' on a Page containing a list of links in each section. The entire page would render just by reading an SQL table listing the sections, and an SQL table listing the links in each section. Users can add and change links and upload files if necessary.
I have it working. The appearance can be customized using a CSS file. The two methods of seeing the content look the same to normal users. Users who can maintain the site already know how to move files around, and can be shown how to use the Editable Links method. These two methods should dramatically reduce the effort of recreating the department's intranet.
I used ASPX to define data sources (SQL or the OS filesystem) and ListViews to generate an HTML table or a set of nesting HTML div's to render the content. The code-behind is VB.Net and most of it is just responding to clicks, manipulating the data before presentation and so on.
Could this project have been built in an Object Oriented manner? I think that most of the applications I create, particularly for our department's intranet, are not really amenable to OO, because they basically consist of only a data source and rendering method. The complexity has to do with manipulating data as it passes between the source and screen.
Is this "too simple" for OO? Or just a different kind of situation? Are web applications usually designed with objects?