design pattern for extracting features
When I think about how to implement a certain ML or data mining process in an OOP (like Java), I usually go to see how smarter people than me designed their system.
In this case, I'd see how Weka, RapidMiner, JAVA ML or others decided to tackle this problem.

In your case of feature/attribute selection, i'm adding a link to Weka's API.
If you want to better understand how it's done, you should download Weka and play with the source code.

http://weka.sourceforge.net/doc.dev/weka/classifiers/meta/AttributeSelectedClassifier.html

Without getting into specific implementations, I think that a linked list of any sort would do the trick, since you want to select a subset of all features.