Ten principles of Object Oriented Software development (turn two)
When you define the parameters of a method, be sure to make them extensible. For example, the following line of code is not extensible:
Public Function PlaceOrder (slastname As String, Sfirstname as String, saddress as String)
To invoke this method you must pass these 3 parameters. But if you later decide you need a phone number on an order, you must modify the function signature, which destroys compatibility and each code snippet that calls this method. To prevent this problem, a better solution is to pass parameters in a container. You can use a recordset, an array of variables, or an XML string to pass more general parameters.
When transferred to. NET, this technique is not very necessary, because in the. NET you can load a function so that you can have the same function with two sets of different parameters:
Public Function PlaceOrder (slastname _
As String, Sfirstname as String, saddress as String)
Public Function PlaceOrder (slastname _
As String, Sfirstname as String, _
Saddress As String, Sphone as String)
6. Use XML now
XML provides a good way to manage state and pass it between components of an application. You can define XML in any format you like, and then insert, UPDATE, delete, or review any information from an XML string.
The best thing about XML is its cross-platform nature and its own vendor. XML is neither Microsoft technology nor Sun technology, it is the World Wide Web Consortium that controls this standard, see the original in detail.
XML becomes the data access standard in. NET, so using it now will lead you all the way.
7. Define a flexible interface
Interface (interfaces) provides a good way to insert components at run time. You can define an interface, create a class that executes it, and then easily replace the class with any other class that performs the same interface at any time.
For example, you can develop a mailing list label print component, and define the standard interface required by this component. In this example, the interface includes the name and address information. Then, any class that executes the interface can use the component without any modification. A customer class that performs a label printing interface can use this component to print customer mailing labels, and a staff class that performs a label printing interface can use this component to print salary labels.
8. Inheritance function
Inheritance is a key principle of OOP, which allows you to define the underlying functionality of an object and then apply that functionality to specific subclasses of the object.
For example, you can define the underlying functionality for a customer object, recover and save data, and calculate a discount. You can then define a government client object that inherits all the functionality of the client object, but shields off the discount calculation because it gives government customers a higher discount.
In vb.net, you will soon be able to achieve these.
9. Processing according to the model
Developing a domain model that describes transactions is useful for understanding the purpose of an application and the problems it should address. But a common mistake is to get the domain model and try to encode it. Instead, you should fuse the domain model into an execution model that defines how to create a class. There are a number of factors to consider in the fusion process, see Building an object model.
10. Understanding OOP, using OOP
All of them. NET is Object oriented. The more you know about OOP now, the better you can understand it, and move on to it in the future. NET is easier. Be prepared to use the class model in all projects. If you don't understand OOP, or even though you know it but don't really understand it, you can use an OOP class. OOP technology will soon be your second self, and you'll find it difficult to remember how you coded it.