タイトルは必須なのでチェックしています。IllegalStateException("titleを指定してください。クラスを使ってみましょう。...こちらも少しずつコードを見ていきましょう。PageBuilder();次に、必要となるパラメータを指定していきます。メソッドの呼び出し順番は自由です。呼び出す必要はありません。Pageオブジェクトを生成します。自身を戻り値として返すので、すべてつなげて書くこともできます。Builderパターンなし/ありを見比べてみましょう。パターンのメリットがあったことになります。IllegalStateException("titleを指定してください。コンストラクタで指定するのもおすすめです。IllegalArgumentException("titleがnullです。メソッドではチェック不要になりました。必須パラメータが多くなる場合は注意が必要です。コンストラクタに指定するとパラメータが多くて順番が分かりにくいという問題がやはり発生してしまうからです。パターンも、適したところに使わないとデメリットになることがあります。クラスを作る手間がかかります。経由してオブジェクトを生成するため、コードの記述量も増えます。(コードは少し冗長になることも)どちらが良いかは、必要となるパラメータの数などで変わってくるでしょう。そのあたりはうまく見極めたいですね。