Latest web development tutorials
×

设计模式 หลักสูตร

รูปแบบการออกแบบ รู้เบื้องต้นเกี่ยวกับรูปแบบการออกแบบ โหมดโรงงาน แบบโรงงานย่อ รูปแบบเดี่ยว รุ่นสร้าง รุ่นต้นแบบ อะแดปเตอร์รุ่น สะพานโหมด รูปแบบตัวกรอง โหมดการทำงานร่วมกัน มัณฑนากร รูปแบบซุ้ม ฟลายเวท โหมดพร็อกซี่ ห่วงโซ่ของรูปแบบความรับผิดชอบ โหมดคำสั่ง รูปแบบล่าม โหมดซ้ำแล้วซ้ำอีก รูปแบบที่เป็นสื่อกลาง รูปแบบของที่ระลึก รูปแบบการสังเกตการณ์ รูปแบบของรัฐ null Object Model โหมดกลยุทธ์ โหมดแม่แบบ รูปแบบของผู้เข้าชม MVC โหมด โหมดตัวแทน โหมดนิติบุคคลองค์ประกอบ รูปแบบการเข้าถึงข้อมูลของวัตถุ รูปแบบการควบคุมด้านหน้า intercepting รูปแบบตัวกรอง รูปแบบการบริการผู้แทนจำหน่าย วัตถุ Transfer รุ่น

设计模式其他

ทรัพยากรโหมดออกแบบ

รูปแบบซุ้ม

ซุ้มรูปแบบ (แบบซุ้ม) ซ่อนความซับซ้อนของระบบให้กับลูกค้าให้ลูกค้าสามารถเข้าถึงอินเตอร์เฟซระบบ ประเภทของรูปแบบการออกแบบเป็นรูปแบบโครงสร้างนี้จะเพิ่มอินเตอร์เฟซกับระบบที่มีอยู่เพื่อซ่อนความซับซ้อนของระบบ

รุ่นนี้เกี่ยวข้องกับชั้นเดียวซึ่งมีวิธีการที่ง่ายต่อการร้องขอของลูกค้าและผู้ร่วมประชุมเรียกร้องให้มีอยู่วิธีการเรียนระบบ

การแนะนำ

เจตนา: ระบบย่อยให้ชุดของอินเตอร์เฟซในอินเตอร์เฟซที่สอดคล้องแบบแผนกำหนดลักษณะของอินเตอร์เฟซที่ระดับสูงที่ทำให้ระบบย่อยที่จะใช้ง่ายขึ้น

วิธีการแก้ปัญหาหลัก: ลดความซับซ้อนในการเข้าถึงระบบย่อยภายในเมื่อระบบที่ซับซ้อนที่ลดความซับซ้อนของลูกค้าที่มีอินเตอร์เฟซ

เมื่อจะใช้: 1, ลูกค้าไม่จำเป็นต้องรู้ระบบภายในที่ซับซ้อนเชื่อมโยงทั้งระบบต้องการเพียงให้ "พนักงานต้อนรับ" สามารถ2 ขาเข้าระบบกำหนด

วิธีการแก้ไข: ลูกค้าจะไม่ได้คู่กับระบบระบบควบคู่ไปกับการปรากฏตัวของชั้นเรียน

รหัสสำคัญ: ระหว่างระบบของลูกค้าและเพิ่มชั้นของความซับซ้อนในครั้งนี้จะได้รับการเรียกลำดับการอ้างอิงและการจัดการอื่น ๆ

ตัวอย่างการใช้งาน: 1, ไปโรงพยาบาลคุณอาจจะไปลงทะเบียนผู้ป่วยนอกราคาที่กำหนดจ่ายยาผู้ป่วยหรือสมาชิกในครอบครัวของผู้ป่วยพบว่ามันมีความซับซ้อนมากถ้ามีการจัดให้มีพนักงานรับเพียงแค่ให้พนักงานแผนกต้อนรับส่วนหน้าที่จะจัดการกับความสะดวกสบายมาก2, JAVA รูปแบบการพัฒนาสามชั้น

ข้อดี: 1 เพื่อลดระบบมีการพึ่งพาซึ่งกันและกัน2 เพิ่มความยืดหยุ่น 3 เพื่อปรับปรุงการรักษาความปลอดภัย

ข้อเสีย: ไม่สอดคล้องกับหลักการของการเปิดและปิดถ้าคุณต้องการที่จะเปลี่ยนสิ่งที่ปัญหามากเกินไปมรดกเขียนไม่เหมาะสม

สถานการณ์การใช้งาน: 1, เพื่อให้สามารถเข้าถึงโมดูลภายนอกเป็นโมดูลที่ซับซ้อนหรือระบบย่อย2 ระบบย่อยค่อนข้างอิสระ 3, การป้องกันความเสี่ยงของบุคลากรในระดับต่ำ

หมายเหตุ: ในโครงสร้างลำดับชั้น, คุณสามารถใช้ระบบการกำหนดลักษณะของโหมดการป้อนสำหรับแต่ละชั้น

การสำนึก

เราจะสร้างอินเตอร์เฟซที่รูปร่างและการดำเนินงานของอินเตอร์เฟซที่รูปร่างเรียนนิติบุคคลขั้นตอนต่อไปคือการกำหนดShapeMakerชั้นผิว

ระดับShapeMakerใช้ระดับนิติบุคคลที่จะเป็นตัวแทนของผู้ใช้ในการโทรชั้นเรียนเหล่านี้FacadePatternDemo เรียนสาธิตของเราโดยใช้ระดับShapeMaker ในการแสดงผล

รูปแบบซุ้มแผนภาพ UML

ขั้นตอนที่ 1

สร้างอินเตอร์เฟซ

Shape.java

รูปร่างอินเตอร์เฟซที่สาธารณะ {
   วาดเป็นโมฆะ ();
}

ขั้นตอนที่ 2

สร้างคลาสนิติบุคคลที่ใช้อินเตอร์เฟซ

Rectangle.java

เรียนสาธารณะสี่เหลี่ยมผืนผ้ารูปร่างดำเนิน {

   @Override
   วาดโมฆะสาธารณะ () {
      System.out.println ( "สี่เหลี่ยมผืนผ้า :: วาด ()");
   }
}

Square.java

เรียนสาธารณะสแควร์ใช้รูปร่าง {

   @Override
   วาดโมฆะสาธารณะ () {
      System.out.println ( "สแควร์ :: วาด ()");
   }
}

Circle.java

วงกลมเรียนสาธารณะดำเนินรูปร่าง {

   @Override
   วาดโมฆะสาธารณะ () {
      System.out.println ( "วงกลม :: วาด ()");
   }
}

ขั้นตอนที่ 3

สร้างลักษณะชั้นเรียน

ShapeMaker.java

ShapeMaker คลาสที่สาธารณะ {
   วงกลมรูปร่างส่วนตัว
   สี่เหลี่ยมผืนผ้ารูปร่างส่วนตัว
   รูปทรงสี่เหลี่ยมส่วนตัว

   ShapeMaker สาธารณะ () {
      วงกลม = แวดวงใหม่ ();
      สี่เหลี่ยมผืนผ้า = สี่เหลี่ยมผืนผ้าใหม่ ();
      ตาราง = แควร์ใหม่ ();
   }

   โมฆะสาธารณะ drawCircle () {
      circle.draw ();
   }
   โมฆะสาธารณะ drawRectangle () {
      rectangle.draw ();
   }
   โมฆะสาธารณะ drawSquare () {
      square.draw ();
   }
}

ขั้นตอนที่ 4

การใช้งานประเภทต่างๆของชั้นผิวการวาดรูปร่าง

FacadePatternDemo.java

FacadePatternDemo คลาสที่สาธารณะ {
   ประชาชนเป็นโมฆะคง main (String args []) {
      ShapeMaker shapeMaker = ShapeMaker ใหม่ ();

      shapeMaker.drawCircle ();
      shapeMaker.drawRectangle ();
      shapeMaker.drawSquare ();		
   }
}

ขั้นตอนที่ 5

ตรวจสอบการส่งออก

วงกลม :: วาด ()
สี่เหลี่ยมผืนผ้า :: วาด ()
สแควร์ :: วาด ()