Solved

WPF Applications/Database - Total Beginner

Posted on 2012-03-25
5
423 Views
Last Modified: 2012-04-11
I am new to object oriented programming and application development.  I have seen lots of books detailing WPF or VB.Net or SQL Server but there doesn't seem to be anything combining these elements, providing practical examples of how to build an application/database.  My only experience of code is VBA and a little HTML/CSS/Javascript.

Thanks
0
Comment
Question by:Damozz
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
5 Comments
 
LVL 12

Expert Comment

by:NormanMaina
ID: 37763113
Microsoft "How Do I" video series are a good start.

http://msdn.microsoft.com/en-us/vstudio/bb466226.aspx
0
 
LVL 83

Accepted Solution

by:
CodeCruiser earned 500 total points
ID: 37763259
0
 
LVL 15

Expert Comment

by:David L. Hansen
ID: 37767079
I'd like to help with the object-oriented question.  It is a concept that is often made harder than it needs to be.  If you'd like to hear my mini-lecture on the topic, just say so.
0
 

Author Comment

by:Damozz
ID: 37767167
That would be good.  Thanks
0
 
LVL 15

Expert Comment

by:David L. Hansen
ID: 37767480
It used to be that programmers would have an idea in mind for what their interface (GUI) would look like to the user.  They would then approach programming from that point of view (what do I need to code to get that button to work right, or the grid will have x, y, and z info, so I'll grab that from the database and fill the grid, etc.).  This happened without much though as to how these decisions would affect the program as a whole.  As programs became bigger and bigger, and more and more complex, that approach eventually broke down.  The same queries would be found scattered all over in the code.  During later maintenance, nobody (including the original author/authors) knew where they were in the code a few moths after writing it, and so on.  So objects became the new point-of-view for programming.  

I'm going to throw in a personal experience which may help here.  I toured a car manufacturing facility back in the early 90's and observed that although an assembly line was being used, it was not a typical one; each station along the path would perform different tasks based on the car that came through - yes, the assembly line had a mixture of car types on the same line!  Robots did most of the work.  Consider, each car had an electronic canister attached that told the robots everything about that specific car (model, color, accessories, and perhaps other buyer's decisions) so the robots knew just what to do.  That is what we are doing now.  Our (your) routines are like the robots and the information you are dealing with are the objects.  You make the object (like the information canister) and pass it around through your program dealing with it and responding to it appropriately.

You might make a custom 'bike' class.  Now, at this level you'll want to keep that class pretty sparse (not intuitive is it - but I'll explain).  If you will be dealing with race bikes, mountain bikes, touring bikes, etc. then the bits of information about those bikes that are specific to them go in their OWN classes (ie, Class_Moutain_Bike) and they would each INHERIT from the more general bike class.  So, the bike class may have: Serial_Number, Frame_Type, Wheel_Type, Color, and so on...very general.  Although the mountain_bike class would still have all the stuff in the general bike class (because of inheritance) it will also have things like Shocks, or specialized gearing.  Those things don't belong in the bike class - it's too specific.

So your program creates bikes (using the different bike classes to create bike-objects) which get passed around your program getting adjusted and/or simply sharing its information.  At the end of the day, your program looks sort of like that car manufacturing plant - you don't see data or processes that say "hey, I deal with the data belonging to that one model during that period of time."  Instead you see flexible processes that can deal with a lot of different objects and scenarios.  So data complexities are contained in the objects and process complexities are contained in the routines.  Need to start a new line of bikes? - just inherit from the bike class and off you go.  Need to implement a new billing process? - just build the processes and pass the same old bike objects into them.

Objects have improved our programming lives and although it is powerful, it isn't perfect. However, once you understand it's strengths you can leverage them to make your programs easier to build and maintain.
0

Featured Post

NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Hi all, It is important and often overlooked to understand “Database properties”. Often we see questions about "log files" or "where is the database" and one of the easiest ways to get general information about your database is to use “Database p…
In this article I will describe the Copy Database Wizard method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…
Are you ready to implement Active Directory best practices without reading 300+ pages? You're in luck. In this webinar hosted by Skyport Systems, you gain insight into Microsoft's latest comprehensive guide, with tips on the best and easiest way…

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question