null Object Model
รูปแบบวัตถุว่าง (Null แบบ Object) และการตรวจสอบวัตถุแทนว่างเปล่าสำหรับอินสแตนซ์โมฆะวัตถุ วัตถุ null ยังไม่ได้ตรวจสอบค่า null แต่ไม่เกิดปฏิกิริยาความสัมพันธ์ของการดำเนินการใด ๆ วัตถุ Null ดังกล่าวยังสามารถให้การทำงานเริ่มต้นเมื่อข้อมูลไม่พร้อมใช้งาน
รูปแบบวัตถุที่ว่างเปล่าที่เราสร้างเป็นนิติบุคคลที่กำหนดในระดับนามธรรมและขยายระดับนี้เพื่อดำเนินการความหลากหลายของการดำเนินงาน แต่ยังสร้างชั้นไม่ได้ดำเนินการใด ๆ ของชั้นวัตถุนี้ว่างดำเนินการชั้นวัตถุที่ว่างเปล่าได้อย่างลงตัว ใช้ในสถานที่ที่ต้องตรวจสอบค่า null
การสำนึก
เราจะสร้างการกระทำที่กำหนดเอง (ในกรณีนี้ชื่อของลูกค้า) ระดับนามธรรมAbstractCustomerและขยายชั้นเรียนระดับกิจการAbstractCustomerCustomerFactory ชื่อชั้นโรงงานขึ้นอยู่กับลูกค้าที่จะส่งมอบหรือส่งคืนวัตถุRealCustomerNullCustomer
NullPatternDemo เราแสดงให้เห็นถึงการใช้งานของระดับCustomerFactory แสดงให้เห็นถึงการใช้รูปแบบวัตถุที่ว่างเปล่า
ขั้นตอนที่ 1
สร้างระดับนามธรรม
AbstractCustomer.java
ระดับนามธรรมสาธารณะ AbstractCustomer { การป้องกันชื่อ String; ประชาชน isNil บูลีนนามธรรม (); ประชาชนนามธรรม String getName (); }
ขั้นตอนที่ 2
สร้างขยายชั้นเรียนนิติบุคคลดังกล่าวข้างต้นระดับ
RealCustomer.java
เรียนสาธารณะ RealCustomer ขยาย AbstractCustomer { RealCustomer สาธารณะ (ชื่อ String) { ชื่อ this.name =; } @Override ประชาชน String getName () { กลับชื่อ; } @Override isNil บูลีนสาธารณะ () { กลับเท็จ; } }
NullCustomer.java
เรียนสาธารณะ NullCustomer ขยาย AbstractCustomer { @Override ประชาชน String getName () { กลับ "ไม่อยู่ในฐานข้อมูลของลูกค้า"; } @Override isNil บูลีนสาธารณะ () { กลับจริง; } }
ขั้นตอนที่ 3
สร้างคลาสCustomerFactory
CustomerFactory.java
CustomerFactory คลาสที่สาธารณะ { สาธารณะคง String สุดท้าย [] = ชื่อ { "ร็อบ", "โจ", "จูลี่"}; สาธารณะคง AbstractCustomer getCustomer (ชื่อ String) { for (int i = 0; i <names.length; i ++) { ถ้า (ชื่อ [I] .equalsIgnoreCase (ชื่อ)) { กลับ RealCustomer ใหม่ (ชื่อ); } } กลับ NullCustomer ใหม่ (); } }
ขั้นตอนที่ 4
ใช้CustomerFactory,ขึ้นอยู่กับชื่อของลูกค้าที่จะผ่านที่จะได้รับหรือRealCustomerNullCustomer วัตถุ
NullPatternDemo.java
NullPatternDemo คลาสที่สาธารณะ { ประชาชนเป็นโมฆะคง main (String args []) { AbstractCustomer customer1 = CustomerFactory.getCustomer ( "ร็อบ"); AbstractCustomer customer2 = CustomerFactory.getCustomer ( "บ๊อบ"); AbstractCustomer customer3 = CustomerFactory.getCustomer ( "จูลี่"); AbstractCustomer customer4 = CustomerFactory.getCustomer ( "ลอร่า"); System.out.println ( "ลูกค้า"); System.out.println (customer1.getName ()); System.out.println (customer2.getName ()); System.out.println (customer3.getName ()); System.out.println (customer4.getName ()); } }
ขั้นตอนที่ 5
ตรวจสอบการส่งออก
ลูกค้า ปล้น ไม่ได้อยู่ในฐานข้อมูลของลูกค้า จูลี่ ไม่ได้อยู่ในฐานข้อมูลของลูกค้า