俺が良くやるのは、
・システムの要になるDBアクセスやビジネスロジックは、コアロジックとして別パッケージにする。
・業務行為の分析をしっかり進めた上で処理制御を分類化し、スーパークラスでテンプレート化する。
この程度。
いずれにしても、業務をしっかり分析しないとね。ユースケースの変更も視野に入れて。