Which pattern should apply in this case? 2005-03-28 - By Tubman Aharon
Back I am not clearly understand your case but may be follows can help you: You can use delegate pattern like this:
public interface X{}
public interface Y{}
public interface Z extends X,Y{}
public class Ximpl implements X {}
public class Yimpl implements Y {}
public class Zimpl implements Z { // delegate all relevant services to XImpl or YImpl private X x = new XImpl(); private Y y = new YImpl();
}
-- --Original Message-- -- From: An interest list for Sun Java Center J2EE Pattern Catalog [mailto:J2EEPATTERNS-INTEREST@(protected)] On Behalf Of Mich Hagdishovich Sent: Saturday, March 26, 2005 2:27 AM To: J2EEPATTERNS-INTEREST@(protected) Subject: Which pattern should apply in this case?
First of all, I apologize for such a descriptive subject, I did not find an adequate way of summarizing the exact question:
I have a set of base classes that work well within a product, but I need to extend them for another product (and keep the existing product).
The exact class diagram is as follows:
I have a base class "A_0" that is extended by 40 or so other classes (A_1 .. A_40). This infrastructure constitutes module "M1" of my product "P1".
Now, I need to have a module "M2", of product "P2". Module "M2" is exactly like module "M1", but with an added feature (method).
For now, what I have done is, I have added the feature (method) to "A_0", and this method is not used by anything within P1, but this way M2 is the same as M1, and I can reuse the same jar.
I was thinking if there is a cleaner solution to this. Please note that I cannot simply extend the classes, as the concrete classes A_1 .. A_40 are already there, and if I extend them, I would be created B_1 extends A_1 ;.. B_40 extends A_40, with an exact same method added, and that seems to be an even (much) worse solution.
thanks,
Mich Hagdishovich Genetics Software www.kromosoft.com
===================================================================Companion Site: http://www.corej2eepatterns.com J2EE BluePrints: http://java.sun.com/blueprints/corej2eepatterns List Archive: http://archives.java.sun.com/archives/j2eepatterns-interest.html Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to listserv@(protected)
???????????????? ???? ?????????? ?????????????? ???????? ???????????????? ????? ? ???????????? ???????????? ???????? ???????? ???????????? ???????? ?????? ????? ????? ???????????? ??/???? ???????????? ?????????? ??/???? ???????????? ???????? ???? ??/???? ?????? ???????? ?????? ???????? ?????????? ?????????? ???????????? ???????????? ??????????
Correspondence with Leumi by electronic mail is for general purposes only and may not be relied upon for the purpose of effecting any activities and/or transactions whatsoever and/or as a substitute for advice and/or in any other manner and is subject to the conditions of use which have been provided to the Customer
===================================================================Companion Site: http://www.corej2eepatterns.com J2EE BluePrints: http://java.sun.com/blueprints/corej2eepatterns List Archive: http://archives.java.sun.com/archives/j2eepatterns-interest.html Unsubscribing: email "signoff J2EEPATTERNS-INTEREST" to listserv@(protected)
|
|