mastrick Posted June 11, 2012 Report Share Posted June 11, 2012 If I have a component that uses pack()/compare()/etc on a base data type and I expect that each user will extend that base type with some customized implementation of pack/compare, I can either make my component have a parameterized data type and have the users use their type as the parameter or I can have my component use the base data type and have users factory replace that type with their own. Any opinions on which way to go? Quote Link to comment Share on other sites More sharing options...
dave_59 Posted June 11, 2012 Report Share Posted June 11, 2012 You are much better off using the factory over parameterized classes so you can take advantage of dynamic polymorphism(i.e. virtual methods). See my DVCon paper on the subject. It is always easier to pass around unparameterized class handles that trying to deal with specialized parameterized class types. Quote Link to comment Share on other sites More sharing options...
jadec Posted June 12, 2012 Report Share Posted June 12, 2012 Of course, it is common to do both. Use an unparameterized base class and factory override it with an extended parameterized class. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.