Teradata recommends using the Model-View-Controller (MVC) pattern for developing custom portlets.

You can learn more about the MVC pattern by following these links:
MVC on wikipedia
Sun Java Blueprints

Teradata recommends using the Spring MVC framework to simplify the implementation of your portlets