In this video, I want to turn our attention briefly to Classification and understanding Classification and how it comes into play in our software design. Now this is not an Object Orientated Programming class per se, but understand that Object Orientated Programming is precisely what you're going to be doing with C#. That's what it was designed to do. So the more you can understand about this, especially if you're new to this technology, the better off you're going to be and the faster you're going to get up to speed with C#. So we're going to do, just 3 or 4 videos here on different aspects of Object Orientated Programming. It's not wasted time, I know it's not C#, but we will dive into C# in just a few videos here and you will see exactly how this stuff fits in, and it will make your C# learning and implementation much easier. So first of all, let's get a definition of Classification. It is, notice, the systematic arrangement of information and behavior into a meaningful entity. Now what exactly does that mean? Well let's just talk about it the way we live it. Classification is a part of every day life. Think about cars. How many different makes, models, years, colors, functionalities of cars are there? But immediately, when I say the word car, you know what we're talking about, some sort of object that we use for transportation, has 4 wheels, is a certain size, not too big, not too small, even though there's a myriad of sizes under that single Classification of cars. Yet when I say car, you know what I'm talking about. Trucks, if I were to ask you in one sentence, what's the main difference between a car and a truck? Some people can nail that, others have a little bit of trouble, saying, well you know, it's kind of hard to say. Generally, trucks haul things. Well cars can haul things but trucks can haul bigger things. And then homes. How different are homes in size? In design? In location? And layout? But yet we classify living spaces as homes. Businesses, we classify buildings operations as businesses. So we do this all the time. Now in software development we find out, that our functionalities are grouped into classes. And so that is the first, that's kind of the seed for Classification and that is these classes that we program. Now classes are then grouped into Namespaces. So in the .NET Framework we have System.Data. And in the System.Date Namespace we'll see all the classes that have to do with database functionalities, grouped together in that Namespace and so we're classifying our classes and then our classes classify functionalities. Now Classification happens almost naturally in real life. When we say shopping, when we say cars, when we say trucks. However, it doesn't seem to happen naturally in software development. There seems to always be a tendency for our software development to wonder off into these Single Objects that do 46 different things. It acts like a car, it acts like a truck, it acts like a home. It acts like a chainsaw, it acts like all kinds of things and then when it breaks or we try to correct something in it, we break a whole lot of other things and that's what we want to avoid. Each class should provide functionality, absolutely specific to the particular object that, that class is replicating from real life. Alright. Let's take a look at an example at here. The Animal Object in our little program, example program that we're using about the veterinarians office. We don't want to put any functionality in that Animal Class that doesn't directly relate to that animal. We don't want to put stuff about the doctor in the Animal Class. We don't want to put too much stuff about the owner in the Animal Class and we don't want to put anything about the doctor's educational requirements or any kind of educational updates in the Animal Object. Only things about an animal goes in that Animal Object. The accounting, the billing or the Bill Object, whatever you want to call it. We don't want to put anything about treatment n there other than how it relates directly to the billing aspects of the business. So a Bill Class that's going to create objects about billing, only needs to contain functionalities. We need to classify the functionalities. So whenever we're thinking about, let's see, I need to think about, where would I go look at whatever is updating our ledger? or updating our past due? Well obviously that's going to be in the Bill Class so I'm going to go into the Bill Class, in that Classification, look for things that effect billing. Okay. So that's what Classification is, when you read about it and when you hear about it, that's what they're talking about. Now you should do this normally. You're doing it normally everywhere else in life, you should develop the habit of doing it normally in software development. Separate your functionalities by class, then the Classes create objects and then one class always stays true to that particular Classification. That makes it very easy to update your project, very easy to troubleshoot the project and very easy for another developer to take it on and take it to higher levels of functionality.
| Course: | Microsoft C# 2010 |
| Author: | Mark Long |
| SKU: | 34306 |
| ISBN: | 978-1-61866-037-4 |
| Release Date: | 2012-03-19 |
| Duration: | 8.5 hrs / 105 lessons |
| Work Files: |
Yes |
| Captions: | No |
| Compatibility: |
Vista/XP/2000, OS X, Linux QuickTime 7, Flash 8 |