Abstract-Aspect-oriented programming (AOP) provides effective mechanisms for improving the modularity of feature implementations. However, as features in general are not independent of each other, changes in the implementation of one feature may cause changes to or side effects in the implementation of other features. We address this challenge by separating feature dependencies from feature implementations using AOP techniques. Specifically, this paper contributes by providing aspect-oriented implementation patterns for feature dependencies (e.g., modification dependency and activation dependency). With the resulting clear separation of dependencies, this approach makes each feature implementation easier to understand and reuse. A product line of scientific calculator applications is used to demonstrate and evaluate the proposed approach.