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

classes and objects

Posted on 2011-10-01
Last Modified: 2012-05-12
Hi Everyone,

I am trying to bring in object oriented concept in one of my project, but i am not very clear about how to start with and to decide what kind of class to design and the elements.
i'll try to explain a sample project if anyone can help me in designing a class structure for that, later with that idea i can build a class structure for my ERP project.
My sample application is something like this
1. customer master (Name, address, city, state, country, phone, email, contact person)
2. supplier master (Name, address, city, state, country, phone, email, contact person)
3. product master (productcode, productname, brand, category, color)
4. purchase (pono, supplierid, productcode, qty, rate, amount, dateofpurchase)
4. sales (invoiceno, customercode, productcode, qty, rate, amount, dateofsale)
5. stock(productcode, date, qtyinstock)

all the above screens will have adding a new record, editing a existing record and deletion of records. Can anyone tell me how can i go for the class structure for the above sample project with all properties and elements.

Thanks in advance,
Question by:rajeeva_nagaraj

Accepted Solution

dimaj earned 125 total points
ID: 36896861
From what I see, Customer Master and Supplier Master could be the same object (as they have identical fields). All other classes should be separate.
Then, you should have some sort of a Collection of class type (i.e. Customer, Supplier, etc)
When you add a new record, just add an item to the corresponding collection

Does this make sense?
LVL 29

Assisted Solution

anarki_jimbel earned 250 total points
ID: 36900930
Hmmm, OK, I'd say this structure is quite simplified :)

Anyway. A lot depends on specific requirements. Probably, dimaj is right and you may have one class for Customer  and Supplier. You may add a flag telling is it one or another.

I prefer when DB ids are used for relation between tabled. Therefore I'd replace productcode
 purchase (pono, supplierid, productid, qty, rate, amount, dateofpurchase). In the class you will have a reference to a product object, of course.

You will also need some main class, e.g. Store, which has collections of products, handles collections of customer and supplies, etc.
LVL 29

Assisted Solution

anarki_jimbel earned 250 total points
ID: 36901005
Also, if we talk about a project structure.

If you are going to store your objects in a database you will need a database layer. In other words you will need a class (or classes) that are responsible for reading /writing from/to database.

In other words, you will have :
presentation layer
business layer
DB layer

Assisted Solution

jagrut_patel earned 125 total points
ID: 36902761
abstract class Contact
  //Properties for Name, address, city, state, country, phone, email, contact person

class Customer: Contact

class Supplier: Contact

class Product
   //Properties for productcode, productname, brand, category, color

class ProductTransacted
   //Property of type Product
   //Properties for qty, rate, amount

class Purchase
   //Properties for pono, dateofpurchase
   //Property of type supplier
   //Property of type List<ProductTransacted>  

class Sales
   //Properties for invoiceno, dateofsale
   //Property of type Customer
   //Property of type List<ProductTransacted>

class ProductStock
   //Properties for date, qtyinstock
   //Property of type Product

class Stock
   //Property of type List<ProductStock>

Author Closing Comment

ID: 37093441
Thanks a lot

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
SqlDataBase 7 53
HTML - Color not displaying correctly in EMAIL. 6 49
FTP file download using c# 3 25
RegEx with optional part 4 42
We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…

839 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