Created March 20, 2010
Last updated March 20, 2010
[ Japanese | English ]

Limit of object-oriented

  In this page , I will explain the limit of the object-oriented that is about to be impossible to realize in the object-oriented.
  After all, when we design in the object-oriented , we should know the limit.

  The way of searching the limit of the object-oriented and the design that is impossible to realize in the object-oriented is studying about the aspect-oriented 1,2.
  If you study the aspect-oriented , I think that you can know the limit of the object-oriented.

-----
Note.
1: In this page , I will not explain about the aspect-oriented.
If you want to know the aspect-oriented and aspect-oriented programming, please read 4. Reference or search by the Google.
2: Of course , I think that there are other ways.
If you search by other ways, it is possible to find other limit and weakpoint of the object-oriented.

1. The limit of the object-oriented
2. The example that we can not design in the object-oriented (Logging)
3. The example that we can not design in the object-oriented (Access Control)
4. Reference


1. The limit of the object-oriented

  I will explain about the limit of the object-oriented that I obtained by studying the aspect-oriented.

  For example , It is assumed there is a case that you want to program a content of a method of a class.
  Then , there are a lot of cases that you must program inessential processes.
  For example , Logging , Access Control and so on 1. These are necessary to be written at various places.
  And , the programming is troublesome , and if we once wrote , the modification is difficult.
  
  Thus, the processing not brought together in one place or the function is called a "Crosscutting Element".

  And , if there are crosscutting elements (it is often) , I think that you should think you can not design the better design when you design in the object-oriented.
  The impossible one is impossible.
  You should think the cost of the programming and modification is very much.


-----
Note.
1: Sorry, I understand only these. By the way , about the logging and access control , I also have the experience.
Back to Top

2. The example that we can not design in the object-oriented (Logging)

  There is the logging as the example that we can not design in the object-oriented . I will explain about this.

In the object-oriented , you can design the class like the Figure 1.


Figure 1 - The example of the Logger class 1

  But , the problem is the case that we use this class.
  For example , if there are 1,000 places that you want logging , you must write the process used the Logger class at 1,000 places.

-----
Note.
1: This class is a class that I designed.
If in java language , I think that you should not create the logger class , but use java.util.logging package.

Back to Top

3. The example that we can not design in the object-oriented (Access Control)

  I will explain about the access control too.
  The access control is not the visibility of the class diagram (+:public , -:private and so on) .
  This means the role based access control. For example , directors can read and write a data , but employees can only read a data.

  In object-oriented ( and in not object-oriented too ) , we can create the method that checks the access authority for the data to check the group name of the user.

  But , the problem is a number of the method that checks the authority.
  For example , there are 50 datas. And there are the getter and setter methods of those. And if the all getter and setter method is needed the access control , you must program checking process at 100 ( 50 * 2 ) places.
  The access control is needed at not only the getter and setter method but the other methods.
  It is very serious.

Back to Top

4. Reference

  The following table is pages that I refered to create this pate.

No.

Linked Website Name

Description

Linked date

1 Aspect-oriented software development - Wikipedia, the free encyclopedia This page explains about aspect-oriented , crosscutting concerns and so on. March 20, 2010
2 Aspect-oriented programming - Wikipedia, the free encyclopedia This page explains about aspect-oriented programming. March 20, 2010

Prev Up Next  Top
Back to Top

I doesn't assume the responsibility of any damage that occurs because of the use of this page.

Microsoft ,Windows ,Visual Basic and Excel are registered trademarks of Microsoft Corporation in the United States and other countries.
Visual Basic® for Applications may represent a VBA.
Mac ,Mac OS ,Mac OS X ,AppleScript are trademarks of Apple Inc., registerd in the U.S. and other countries.
Sun, Sun Microsystems, Sun Microsystems Computer Corporation, the Sun logo, the Sun Microsystems Computer Corporation logo, Solaris, Java, JavaSoft, JavaScript, HotJava, JDK, and all Java-based trademarks or logos are trademarks or registered trademarks of Sun Microsystems, Inc.
Other brands and their products are trademarks or registered trademarks of their respective holders and should be noted as such.

The author of this page and these companies do not have any relationship.