flyweight パターンを適用するには、Object プロパティを組み込みプロパティと外部プロパティに分割する必要があります。組み込みプロパティはオブジェクトを一意にしますが、外部プロパティはクライアント コードによって設定され、さまざまな操作を実行するために使用されます。
しかし、私の質問は、組み込みプロパティと外部プロパティの両方をインスタンス変数として持つことができず (以下の Email クラスを参照)、ループの外側で 1 つのオブジェクトを作成し、ループ内でパラメーターを設定して、異なるパラメーターで複数の電子メールを送信できない理由です。
public class Test {
public static void main(String[] args) {
Email ob = new Email();
for (int i = 0; i < 10; i++) {
ob.sender = String.valueOf(i);
ob.sendEmail();
}
}
}
public class Email {
public String sender;
public void sendEmail()
{
System.out.println("Email sent to sender:"+sender);
}
}