Builder Pattern
ตัวอย่างมากมายทำให้Builder
คลาสภายในของวัตถุที่สร้างขึ้น
ทำให้รู้สึกบางอย่างเพราะมันบ่งบอกถึงสิ่งที่Builder
สร้าง อย่างไรก็ตามในภาษาที่พิมพ์แบบคงที่เรารู้ว่าสิ่งที่Builder
สร้าง
ในทางตรงกันข้ามถ้าBuilder
เป็นระดับชั้นที่คุณควรจะรู้ว่าสิ่งที่ชั้นสร้างโดยไม่ได้มองภายในของBuilder
Builder
นอกจากนี้การมีตัวสร้างเป็นคลาสภายในจะลดจำนวนของการนำเข้าเนื่องจากสามารถอ้างอิงโดยคลาสภายนอก - หากคุณสนใจสิ่งนั้น
แล้วมีตัวอย่างการปฏิบัติที่Builder
อยู่ในแพคเกจเดียวกัน StringBuilder
แต่ไม่ได้เป็นระดับชั้นเช่น คุณรู้ว่าBuilder
ควรสร้างString
เพราะมันมีชื่อดังนั้น
ที่ถูกกล่าวว่าเหตุผลที่ดีเท่านั้นที่ฉันสามารถคิดในการสร้างBuilder
ชั้นในคือคุณรู้ว่าสิ่งที่ชั้น ' Builder
คือโดยไม่ทราบชื่อของมันหรืออาศัยการประชุมการตั้งชื่อ ตัวอย่างเช่นถ้าStringBuilder
เป็นชั้นในของString
ฉันอาจจะรู้ว่ามันมีอยู่เร็วกว่าที่ฉันทำ (เก็งกำไร)
มีเหตุผลอื่นที่จะทำให้Builder
ชั้นในหรือไม่เพียงแค่ลงไปที่การตั้งค่าและพิธีกรรม?