mastrick Posted June 11, 2012 Report 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
dave_59 Posted June 11, 2012 Report 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
jadec Posted June 12, 2012 Report 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
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.