Closed Thread
Page 1 of 2 12 LastLast
Results 1 to 10 of 18

Thread: Object Oriented Techniques

  1. #1
    student_oop is offline Newbie
    Join Date
    Feb 2010
    Posts
    2
    Rep Power
    0

    Object Oriented Techniques

    Can any one knows what are the different Object oriented Techniques? I need a just list of them.

    Secondly what is difference between the object oriented techniques and object oriented methodologies.

    But question no 1 is more important and if you can name 6 to 7 object oriented techniques then it will be helpful for me.

  2. CODECALL Circuit advertisement
    Join Date
    Always
    Posts
    Many

     
  3. #2
    Join Date
    Jul 2006
    Posts
    16,491
    Blog Entries
    75
    Rep Power
    143

    Re: Object Oriented Techniques

    Your question is very vague. Are you talking about things like inheritance, or things like MVC models and singletons?
    Programming is a branch of mathematics.
    My CodeCall Blog | My Personal Blog

  4. #3
    student_oop is offline Newbie
    Join Date
    Feb 2010
    Posts
    2
    Rep Power
    0

    Re: Object Oriented Techniques

    This is the question because I am confused that what are the object oriented techniques are it like inheritance and polymorphism or any thing else. if any one has the answer then plz reply here.

  5. #4
    NatalieM's Avatar
    NatalieM is offline Learning Programmer
    Join Date
    Jun 2009
    Location
    London, England
    Posts
    83
    Rep Power
    10

    Re: Object Oriented Techniques

    I recommend you read "Object Thinking" by David West. OOP isn't so much a set of techniques as it is a way of approaching and decomposing a problem. Techniques are of no use if you don't understand the principles behind, and David West explains them very clearly and in plain english in his book.

  6. #5
    agnl666's Avatar
    agnl666 is offline Programmer
    Join Date
    Feb 2010
    Location
    Halifax
    Posts
    163
    Blog Entries
    2
    Rep Power
    0

    Re: Object Oriented Techniques

    i don't beleive object oriented programming is how you program (it is but), its how you deal with the problem. I'm going to look the book up.

  7. #6
    outsid3r's Avatar
    outsid3r is offline Programming God
    Join Date
    Jul 2008
    Posts
    621
    Rep Power
    19

    Re: Object Oriented Techniques

    I'm starting to think that OOP is not what it seems to look at the beginning. Sure it has it's advantages, but it's totally overused. Many languages provides a lot of OOP abstraction mechanisms, like inheritance, polymorphism, encapsulation, multiple-inheritance, etc. The extensive use of it's abstraction mechanisms can lead to bloat and confusing code, but in the beginning everyone was using it extensively. Nowadays OOP specialists say that inheritance can be evil, and it should be substituted by class composition whatever possible. Java creator, James Gosling, said in an interview that the only thing that he regrets in Java is inheritance, and it should have been substituted by interfaces and composition. Class composition leads to a very relational approach seen in procedural languages. In the end everyone sees that OOP adds a lot of "unnecessarily" complexity, and they try to stick more with procedural approaches to avoid that. In procedural languages you can write real clean code with clean interfaces and implementations, and that's more beauty than lots of classes and abstractions everywhere. Making the code "pure" it's the best way in my opinion.

  8. #7
    Join Date
    Jul 2008
    Location
    Somewhere that is shorter to write than "In the gloomy shadows of my personal namespace"
    Posts
    10,725
    Blog Entries
    2
    Rep Power
    90

    Re: Object Oriented Techniques

    Quote Originally Posted by outsid3r View Post
    I'm starting to think that OOP is not what it seems to look at the beginning. Sure it has it's advantages, but it's totally overused. Many languages provides a lot of OOP abstraction mechanisms, like inheritance, polymorphism, encapsulation, multiple-inheritance, etc. The extensive use of it's abstraction mechanisms can lead to bloat and confusing code, but in the beginning everyone was using it extensively. Nowadays OOP specialists say that inheritance can be evil, and it should be substituted by class composition whatever possible. Java creator, James Gosling, said in an interview that the only thing that he regrets in Java is inheritance, and it should have been substituted by interfaces and composition. Class composition leads to a very relational approach seen in procedural languages. In the end everyone sees that OOP adds a lot of "unnecessarily" complexity, and they try to stick more with procedural approaches to avoid that. In procedural languages you can write real clean code with clean interfaces and implementations, and that's more beauty than lots of classes and abstractions everywhere. Making the code "pure" it's the best way in my opinion.
    OOP is a programming tool. It's like every other tool; it doesn't fit every task. Don't use a screwdriver to chop wood. On the other hand, a screwdriver can come in very handy at times.
    Hey! Check out my new Toyota keyboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

  9. #8
    outsid3r's Avatar
    outsid3r is offline Programming God
    Join Date
    Jul 2008
    Posts
    621
    Rep Power
    19

    Re: Object Oriented Techniques

    OOP can be great then used effectively, the problem is, it's hard to really use it effectively, because of complexity added to it, and in large applications it can be disastrous. Imagine the following situation: You're building a large application in an OOP language, naturally you build lots of classes. In some classes you may think that maybe it's better to use inheritance, or maybe interfacing, or composition. You have lots of choices but you must inevitably take one of them. Maybe in the beginning it looks the most suitable option, but latter you can realize that it was the worst. Now imagine that situation applied to some classes. You start to fix things, and to fix one thing you have to fix another like snowball effect. In the end what you have is a bloated and bad designed code. This surely happens in many software companies, but who cares? the product is sold to people that don't know anything about programming... but that same program can be patched or extended later, and it leads to more bloatness. In the end what you have is a total remake of the same software, and the old one is thrown to trash.
    In the other hand, you have procedural languages, that have functions, structures, modules and not much more. You start to design something with that kind of languages and you think directly in a clean interface of functions, there is no need to worry about real models and big abstraction mechanisms that leads to a variety of options, you just make the things simpler and clean. In my opinion, to enforce good OOP programming, the programmer must really know well procedural languages to do not jump blindly to OOP languages.

  10. #9
    Join Date
    Jul 2008
    Location
    Somewhere that is shorter to write than "In the gloomy shadows of my personal namespace"
    Posts
    10,725
    Blog Entries
    2
    Rep Power
    90

    Re: Object Oriented Techniques

    Quote Originally Posted by outsid3r View Post
    OOP can be great then used effectively, the problem is, it's hard to really use it effectively, because of complexity added to it, and in large applications it can be disastrous. Imagine the following situation: You're building a large application in an OOP language, naturally you build lots of classes. In some classes you may think that maybe it's better to use inheritance, or maybe interfacing, or composition. You have lots of choices but you must inevitably take one of them. Maybe in the beginning it looks the most suitable option, but latter you can realize that it was the worst. Now imagine that situation applied to some classes. You start to fix things, and to fix one thing you have to fix another like snowball effect. In the end what you have is a bloated and bad designed code. This surely happens in many software companies, but who cares? the product is sold to people that don't know anything about programming... but that same program can be patched or extended later, and it leads to more bloatness. In the end what you have is a total remake of the same software, and the old one is thrown to trash.
    In the other hand, you have procedural languages, that have functions, structures, modules and not much more. You start to design something with that kind of languages and you think directly in a clean interface of functions, there is no need to worry about real models and big abstraction mechanisms that leads to a variety of options, you just make the things simpler and clean. In my opinion, to enforce good OOP programming, the programmer must really know well procedural languages to do not jump blindly to OOP languages.
    What you outline here is a common result of badly planned OOP code. Coding using a procedural paradigm might be easier, but with experience and careful planning, OOP can be a very useful tool. I feel that OOP helps combine similar concepts into logical structures easier than procedural code, which leads to cleaner code which is again easier to understand and maintain. It requires more planning and design from the programmer, but that might not be such a bad thing. Coding without thinking likely leads to disaster anyway..
    Hey! Check out my new Toyota keyboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

  11. #10
    outsid3r's Avatar
    outsid3r is offline Programming God
    Join Date
    Jul 2008
    Posts
    621
    Rep Power
    19

    Re: Object Oriented Techniques

    I agree with you, but then you say "procedural paradigm might be easier", i would rather say, it's more clean, hence, leads to cleaner code naturally. Yes, OOP it's very powerful then carefully planned, i totally agree. OOP has implicitly some big wins over procedural, like generic and meta programming. You can design really nice generic containers and other kinds of objects that are naturally related to generics. OOP it's just "dangerous" then used by cheap programmers, and some others like to abstract everywhere, and make heavy usage of abstraction mechanisms... that's when everything fails or bloats. My advise to any OOP programmer is to do not exaggerate on sub-classing and specially on inheritance. Then we abstract and divide less, code cleanness comes naturally. I like to download sources to check how big applications are structured, and i have seen both really nice OOP programming, and really monstrous code.

Closed Thread
Page 1 of 2 12 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. C# Object Oriented How To Help
    By simoatk in forum C# Programming
    Replies: 0
    Last Post: 08-17-2010, 09:01 AM
  2. Object Oriented programming
    By eman ahmed in forum Java Help
    Replies: 10
    Last Post: 08-12-2010, 03:59 AM
  3. object oriented programming
    By farhanyun91 in forum Java Help
    Replies: 6
    Last Post: 08-11-2010, 09:28 AM
  4. object oriented programming
    By sayer in forum C and C++
    Replies: 14
    Last Post: 01-08-2010, 04:11 AM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts