বিল্ডার সর্বাধিক দরকারী যখন আপনার অবজেক্টটির প্রচুর পরিমাণে আর্গুমেন্ট / নির্ভরতা প্রয়োজন কার্যকর হয় বা আপনি অবজেক্টটি তৈরির বিভিন্ন উপায়ের অনুমতি দিতে চান।
আমার মাথার শীর্ষে, আমি কল্পনা করতে পারি যে কেউ এই জাতীয় 3D খেলায় "বিল্ড" করতে পারে:
// Just ignore the fact that this hypothetical god class is coupled to everything ever
new ObjectBuilder(x, y, z).importBlenderMesh("./meshes/foo")
.syncWithOtherPlayers(serverIP)
.compileShaders("./shaders/foo.vert", "./shaders/foo.frag")
.makeDestructibleRigidBody(health, weight)
...
আমি যুক্তি দিয়ে বলব যে এই উদাহরণটি আমি যে বিল্ডার পদ্ধতিগুলি তৈরি করেছি তার সাথে কেবলমাত্র তৈরি করা হয়েছে itচ্ছিক পরামিতিগুলির তুলনায় এটি আরও পঠনযোগ্য:
new Object(x, y, z, meshType: MESH.BLENDER,
meshPath: "./meshes/foo",
serverToSyncWith: serverIP,
vertexShader: "./shaders/foo.vert",
physicsType: PHYSICS_ENGINE.RIGID_DESTRUCTIBLE,
health: health,
weight: weight)
...
বিশেষত, বিল্ডার পদ্ধতির নামের দ্বারা প্রদত্ত তথ্যগুলি আরও বেশি পরামিতি দ্বারা প্রতিস্থাপন করতে হবে এবং ঘনিষ্ঠভাবে সম্পর্কিত পরামিতিগুলির একটি গোষ্ঠীতে একটি পরামিতি সম্পর্কে ভুলে যাওয়া অনেক সহজ। আসলে, খণ্ডের শেডারটি অনুপস্থিত, তবে আপনি এটির সন্ধান করতে না পারলে আপনি এটি লক্ষ্য করবেন না।
অবশ্যই, যদি আপনার অবজেক্টটি কেবল এক থেকে পাঁচটি আর্গুমেন্ট তৈরি করতে লাগে, তবে আপনার নাম / alচ্ছিক পরামিতিগুলি রেখেছেন বা না থাকায় বিল্ডার প্যাটার্নটিকে জড়িত করার দরকার নেই।