Bug 954 - TAO_ORB_Core getting too huge..
Summary: TAO_ORB_Core getting too huge..
Status: ASSIGNED
Alias: None
Product: TAO
Classification: Unclassified
Component: ORB (show other bugs)
Version: 1.1.17
Hardware: All All
: P3 enhancement
Assignee: DOC Center Support List (internal)
URL:
Depends on:
Blocks: 2454
  Show dependency tree
 
Reported: 2001-06-24 22:45 CDT by Nanbor Wang
Modified: 2003-02-10 11:51 CST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nanbor Wang 2001-06-24 22:45:59 CDT
The class TAO_ORB_Core us getting bigger and bigger by the day. It has become a 
kitchen stuff for lot of things that have been going on in the ORB. The class 
declaration  is more than a 1000 lines and the implementations are more than 5 
times the size. If the class is allowed to grow it is going to be a maintenance 
nightmare at some point. Here are some thoughts on how to attack this problem. 

(1) The class TAO_ORB_Core can be made a namespace. This gives us a chance to 
split the declaration and definition across multiple translation units. The 
namespace TAO_ORB_Core can be defined in multiple units (with each unit 
representing some logical collection) by opening namespaces again & again. One 
idea could be put all allocator related information in one translation unit, 
TSS relared stuff in another unit and so on. The catch for this is that we can 
take up this work only after TAO 1.2 goes out (ie. once we drop busted compiler 
support). We should at that point of time have compilers that have decent 
namespace support. I am not sure whether MSVC can handle this even after 1.2.

(2) The other idea would be subset the ORB_Core in to different classes and 
make ORB_Core reference all these classes ie. using the age old composition 
technique.
Comment 1 Ossama Othman 2001-06-29 12:10:22 CDT
I like choice #2.

It better isolates related methods and attributes.
Comment 2 Ossama Othman 2001-07-08 14:22:16 CDT
Accepted on behalf of TAO-support.
Comment 3 Jeff Parsons 2003-02-10 10:15:56 CST
I don't see how (2) is going to give us any benefit - if the ORB_Core reference 
pulls in all the separate classes. Let me go on record as saying I like (1) 
better.
Comment 4 Ossama Othman 2003-02-10 11:51:04 CST
The issue in this bug report is related to maintenance not footprint.  Using
composition would certainly make the ORB core more maintainable.