Table of Contents

ซอฟต์แวร์วิศวกรรมต้องคาดการณ์การเปลี่ยนแปลง -- ฮาร์ดแวร์ใหม่, ปรับปรุงมาตรฐาน, ปรับปรุงวิธีการจําลอง, และเปลี่ยนความต้องการการรวมเข้ากับระบบ รูปแบบการแทรกเตอร์ของ Abspact languagey มีแนวทางการสร้างระบบดังกล่าว, การเปิดใช้งานการขยายตัวแบบไดนามิกส์ได้โดยไม่ต้องเขียนตรรกะหลัก บทความนี้สํารวจรูปแบบในความลึก, การประยุกต์ใช้งานของโปรแกรมผ่านโดเมนวิศวกรรม, และกลยุทธ์ปฏิบัติสําหรับการป้องกันสถาปัตยกรรมในอนาคตของคุณ

รูป แบบ ของ สิ่ง แวด ล้อม แบบ อับ ซัค เซต คือ อะไร?

รูปแบบ Abstract Profiley เป็นรูปแบบการออกแบบที่ถูกสร้างขึ้นครั้งแรกใน [FLT: 0] Gang of Four[FLT: 1) หนังสือ (FLT: 1) – รูปแบบของสารเดซิชัน: Elements of Organication Offication Office [1] จัดทํารายการสําหรับการสร้าง [FLT: 2] FLT: 3 parature [FLT: 3] ของวัตถุที่สัมพันธ์กัน หรือไม่อ้างอิงถึงรุ่นของคอนกรีต ซึ่งหมายความว่าระบบของไคลเอนต์ทํางานโดยใช้โครงสร้าง, ระบบคอนกรีต, ดังนั้นระบบนี้จึงสามารถขยายขยายได้โดยมีโครงสร้างใหม่ ๆ

ในบริบทวิศวกรรม ส่วนประกอบของ “ครอบครัว" อาจหมายถึงส่วนประกอบที่จําเป็นสําหรับอุปกรณ์เฉพาะชิ้นหนึ่ง (เช่น เซ็นเซอร์, actural, โปรโตคอลการสื่อสาร) หรือวัตถุทั้งหมดที่จําเป็นสําหรับสภาพแวดล้อมจําลองเฉพาะ (เช่น เครื่องกําเนิดไฟฟ้าเมช เครื่องแก้ระบบ ไปรษณีย์)

กางเกงในโคเร

  • [FLT: 0] abspactratfactory – ประกาศส่วนเชื่อมต่อสําหรับการสร้างวัตถุผลิตภัณฑ์แต่ละชนิด.
  • [FLT: 0]Cocrate Factory – ใช้วิธีสร้างงานผลิตผลิตภัณฑ์คอนกรีตที่เป็นส่วนหนึ่งของครอบครัวเฉพาะ พ.ศ.
  • [FLT: 0] abspranget product – ประกาศส่วนติดต่อสําหรับผลิตภัณฑ์ประเภท (e.g., [FLT: 0], .
  • [FLT: 0]Cocrocte Product – นิยามสินค้าวัตถุที่สร้างขึ้นโดยโรงงานคอนกรีตที่สอดคล้องกัน; ปรับใช้อินเทอร์เฟสโปรดักต์ Abstract product.
  • [FLT: 0] Clident - ใช้เฉพาะเครื่องเร่งอนุภาคและอุปกรณ์ Abspact Products ที่ยังคงเป็นอิสระจากกระบวนการคอนกรีต

การถอดชิ้นส่วนนี้จะทําให้รูปแบบที่มีประสิทธิภาพมากสําหรับการขยายตัวตัวแบ่งตัวช่วยขยายภาพ การเพิ่มอุปกรณ์ใหม่หมายถึงการเขียน concretephactory ใหม่ และ concutducts ที่สนับสนุน -- รหัสลูกความไม่เปลี่ยนแปลง

ทําไม ซอฟต์แวร์ วิศวกรรม จําเป็น ต้อง มี แบบ อย่าง นี้

ซอฟต์แวร์ ทาง วิศวกรรม มัก จะ มี หลาย ส่วน แต่ ละ ส่วน มี ข้อ จํากัด ที่ ไม่ เหมือน ใคร และ มี การ เปลี่ยน แปลง ทาง เทคโนโลยี อย่าง รวด เร็ว.

ความทึบแสง

ส่วนประกอบต่าง ๆ สามารถถูกพัฒนา, ทดสอบ, และรักษาได้ด้วยตนเอง ตัวอย่างเช่น โปรแกรมวิเคราะห์องค์ประกอบ จํากัด (FEA) สามารถมีครอบครัวโรงงานที่แตกต่างกันสําหรับองค์ประกอบชนิด (D, 3D, เชลล์) หรือแบ็คเอนเตอร์เทนเนอร์แบบต่าง ๆ (ทางอ้อม, อัตโนมัติ) โรงงานแต่ละโรงงานจะสรุปเหตุผลในการสร้างของตนเอง ดังนั้นการแก้ไขครอบครัวหนึ่งจะไม่มีผลกับผู้อื่น

ความจุสี

เมื่อผลิตภัณฑ์ใหม่ปรากฏขึ้น -- พูดได้ตามต้องการ เซ็นเซอร์แบบ LDAR แบบใหม่สําหรับซอฟต์แวร์รถยนต์อัตโนมัติ -- รูปแบบนี้ช่วยให้คุณสามารถเพิ่ม concrateFactory ใหม่ได้ โดยไม่ต้องสัมผัสกับโรงงานหรือรหัสลูกข่ายที่มีอยู่ ซึ่งจะมีประโยชน์อย่างยิ่งเมื่อซอฟต์แวร์วิศวกรรมต้องรองรับระบบนิเวศของผู้ผลิตฮาร์ดแวร์ที่ขยายออกไป และมาตรฐาน 2]

ความเปรียบต่างระหว่างโดเมน

การ ตี ความ ทาง วิศวกรรม มี หลาก หลาย เช่น การ จําลอง แบบ กลไก, การ ทํา แบบ CTD, การ วิเคราะห์ โครง สร้าง, และ อื่น ๆ การ ใช้ เครื่องจักร แบบ แอ็บ แทรค แฟค เทน เมนท์ สามารถ ออก แบบ วัตถุ ที่ กําหนด ตําแหน่ง ของ ตัว เลข ใน การ สร้าง วัตถุ ต่าง ๆ ได้ โดย ทํา ให้ หลัก การ ใน การ ทํา งาน ของ ตัว เอง มี เหตุ ผล ทั่ว ไป เช่น “เครื่อง ควบคุม การ จําลอง ตัว เอง ” สามารถ ใช้ กลไก จําลอง ใด ๆ ได้ ถ้า แต่ ละ กลไก สามารถ สร้าง ส่วน ประกอบ ของ ตัว เอง สําหรับ การ จําลอง ได้

การ รักษา ไว้ ซึ่ง ความ สามารถ โดย การ แยก ตัว อยู่ โดด เดี่ยว

การเปลี่ยนแปลงภายในครอบครัวโรงงานหนึ่งถูกแยกออกมา การปรับปรุงไดรเวอร์ฮาร์ดแวร์หรือสลับที่ห้องสมุดสามส่วนนั้น ต้องมีการเปลี่ยนแปลงเฉพาะในโรงงานคอนกรีตที่สอดคล้องกันเท่านั้น นี่จะช่วยลดความเสี่ยงของความถดถอย และการลดความยืดหยุ่นของรุ่นให้ง่ายขึ้น

การ ทํา ให้ รูป แบบ ดี ขึ้น:

พิจารณาโปรแกรมที่ติดตั้งด้วยคอมพิวเตอร์ (CAD) ที่ต้องการรองรับเคอร์เนลเรขาคณิตหลายชิ้น (Parazerfic, ACIS, Open CASCAD) แต่ละเคอร์เนลจะมีการแสดงและปฏิบัติการของตัวเองสําหรับเส้นโค้ง ผิวหน้า, พื้นผิว, และขอบ. ถ้าไม่มีรูปแบบ โครงสร้างโค้ดย่อยทั้งหมดจะกลายเป็นการขัดกับตรรกะเงื่อนไข:

// Client code full of if-else chains
if (kernel == "Parasolid") {
 Curve c = new ParasolidCurve(...);
} else if (kernel == "ACIS") {
 Curve c = new AciSCurve(...);
}

ด้วยรูปแบบของสารอ๊บสแตท แฟคเทอรี่ ลูกความไม่เคยรู้เคอร์เนลคอนกรีต

// Abstract factory interface
public interface GeometryFactory {
 Curve createCurve(Point p1, Point p2);
 Surface createSurface(...);
 Solid createSolid(...);
}

// Concrete factories
public class ParasolidFactory implements GeometryFactory { ... }
public class AciSFactory implements GeometryFactory { ... }

// Client
GeometryFactory factory = getFactory(); // selected via config or runtime
Curve c = factory.createCurve(p1, p2);
Solid s = factory.createSolid(face);

โปรแกรมลูกข่ายนี้ถูกถอดออกจากเคอร์เนลอย่างสมบูรณ์ การเพิ่มเคอร์เนลที่สาม (เช่น, Open CSSCade) จะต้องใช้เฉพาะส่วนเชื่อมต่อ [FLT: 4] และชุดผลิตภัณฑ์คอนกรีตเท่านั้น

ตัวอย่างนี้ จะหมายถึงโดเมนวิศวกรรมใดๆ ที่มี “อุปกรณ์" หรือเครื่องมือต่าง ๆ อยู่หลายชิ้น: ตัวตรวจจับ, ตัวแก้ไข, เครื่องยนต์, หรือฐานข้อมูลวัสดุ

อัลกอริอะฮ์ที่ขยาย: anguages expressions

นอก เหนือ จาก การ เลือก รถ แบบ ง่าย ๆ แล้ว รูป แบบ ของ แอ็บ แทรคต์ แฟค เทก ก็ ช่วย ให้ มี สถาปัตยกรรม ที่ ซับ ซ้อน ได้:

สถาปัตยกรรม ของ ปลั๊ก ซิน

ให้ทีมภายนอกพัฒนาโมดูลที่ 3 ปลั๊กจีนแต่ละระบบให้โรงงานคอนกรีตของตัวเอง และลงทะเบียนไว้เมื่อทํางาน โปรแกรมโฮสต์ค้นพบและเรียกให้โรงงานเพิ่มความสามารถใหม่ -- ตัวอย่างเช่น แบบจําลองวัสดุหรือประเภทวิเคราะห์ใหม่ -- โดยไม่ต้องรวมเข้ากับแกนหลัก

การ ลด ลง ของ มัลติมีเดีย

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

การ จําลอง สิ่ง แวด ล้อม ที่ มี ระดับ ความ หลาก หลาย

ใน การ จําลอง ของ เหลว หรือ การ จําลอง แบบ ทาง แม่เหล็กไฟฟ้า ผู้ ใช้ อาจ เปลี่ยน แปลง ระหว่าง ตัว แก้ ความ ถี่ ที่ มี การ ประมาณ และ ตัว แก้ ความ เสมอ ต้น เสมอ ปลาย.

อนาคต: □ การ ขยาย ตัว ของ มัน

การออกแบบด้วยรูปแบบโรงงาน Abstract เตรียมซอฟต์แวร์วิศวกรรม สําหรับเทคโนโลยีที่เกิดใหม่ และเปลี่ยนแปลงความต้องการทางธุรกิจ

การรวมเข้ากับ ไอโอที และ เอดจ์

ขณะ ที่ อุปกรณ์ ทาง วิศวกรรม มี ความ เฉลียว ฉลาด ขึ้น โปรแกรม ที่ ฝัง อยู่ ของ มัน ต้อง ติด ต่อ กับ บริการ เมฆ, เครื่อง ควบคุม ท้อง ถิ่น, และ อุปกรณ์ อื่น ๆ อุปกรณ์ นี้ สามารถ สร้าง สแต็ก สื่อสาร ที่ ต่าง ออก ไป (MQT, CAP, HT, HTF) และ ข้อมูล ที่ ใช้ ประกอบ ภาพ วัตถุ (Protobof, Json, CBOR) การ เพิ่ม โพรโทคอล ใหม่ ๆ ก็ ง่าย เหมือน การ สร้าง ครอบครัว ใหม่.

การ สนับสนุน การ เรียน รู้ ของ เครื่อง เอ ไอ

การ วิเคราะห์ ทาง วิศวกรรม มี ผล กระทบ ต่อ ระบบ เอ็ม แอล มาก ขึ้น เรื่อย ๆ เพื่อ เป็น การ จําลอง, การ ปรับ ปรุง ให้ สมบูรณ์, หรือ การ ตรวจ พบ สิ่ง ผิด ปกติ.

เมฆ หมอก และ สิ่ง มี ชีวิต

บริการไมโครประโยชน์จาก Abstract Profiles เพื่อให้มีการใช้งานหลากหลายแบบ ในหลาย ๆ สภาพแวดล้อม (การพัฒนา, การวางตัว, การผลิต) บริการแต่ละรายการสามารถกําหนดโครงสร้างพื้นฐานสําหรับการเข้าถึงฐานข้อมูล, การตรวจสอบ, และคิวข้อความ ซึ่งจะทําให้ทีมพัฒนาสถาปัตยกรรมได้โดยไม่ต้องเขียนเหตุผลใหม่

Longhelp การบํารุงรักษา Term

การ เปลี่ยน แปลง นี้ ทํา ให้ “การ เปลี่ยน แปลง แบบ ย่อ ๆ ” ลด ลง การ ศึกษา วิจัย ของ สถาบัน วิศวกรรม ซอฟต์แวร์ ได้ รับ การ ปรับ ปรุง ราคา ของ ซอฟต์แวร์ ให้ ต่ํา ลง 10-100 เท่า เมื่อ เทียบ กับ การ เปลี่ยน แปลง ใน วงจร ชีวิต 3 ปี.

อาจ เป็น หลุม พราง และ วิธี หลีก เลี่ยง การ ตก อยู่ ใน สภาพ เช่น นั้น

ไม่ มี รูป แบบ ที่ เป็น เหมือน กระสุน เงิน.

  • [FLT: 0] ใช้ชั้นที่เป็นนามธรรมมากมาย – สร้างโรงงานสําหรับความแตกต่างเล็กน้อย นําไปสู่ชั้นที่ลึกยากที่จะดีบั๊ก ใช้รูปแบบสําหรับครอบครัวของวัตถุที่แตกต่างกันอย่างแท้จริง
  • [FLT: 0] นามธรรมที่ไม่สามารถเปลี่ยนแปลงได้ – หากส่วนติดต่อผลิตภัณฑ์เชิงนามธรรมนั้นแคบเกินไป การเพิ่มสารทดแทนใหม่อาจจะต้องใช้การเปลี่ยนแปลงโรงงานเอง ทําให้ส่วนติดต่อผลิตภัณฑ์มั่นคงและทั่วไปคงตัว
  • [FLT: 0] ไม่สนใจการฉีดเอฟเฟ็คต์ – โรงงานทํางานดีที่สุดเมื่อโรงงานคอนกรีตถูกเลือกผ่านทางการปรับแต่ง ไม่ใช่ฮาร์ดโค้ด ยกเลิกการถอดรูปแบบกับ DI Tool หรือ service for peritions.

เมื่อ ใช้ อย่าง รอบคอบ แบบ แผน ของ โครงการ แอ็บ แทร็ค แฟค ซี จะ ให้ ซอฟต์แวร์ ทาง วิศวกรรม ที่ สามารถ ปรับ ตัว ได้ โดย ไม่ ต้อง เสีย สละ ความ ชัดเจน.

รูปแบบการวน

การ สร้าง ระบบ วิศวกรรม แบบ เอกซ์ แทรค เทจ เป็น เครื่อง มือ ที่ ใช้ กัน มา นาน เพื่อ สร้าง ซอฟต์แวร์ ทาง วิศวกรรม ที่ สามารถ พัฒนา ได้ ด้วย เทคโนโลยี, มาตรฐาน, และ สภาวะ ต่าง ๆ ที่ เป็น ระเบียบ.


[FLT: 0] References

  1. Gamma, E. Helm, R. Johnson, R. & Vliss, J. (1994). [FLT: 0] รูป แบบ: Elegs of Absult Official Oborized Froject [FLTT:1]. Addison-Westley. . [FLLLLLLLLLLLT:3].
  2. ฟาวเลอร์ เอ็ม. เอ็ม. (2002). [FLT: 0] Patterns of Enterprise Modelation Marchments [FLT: 1). แอดดิสัน-เวสต์ลีย์. Martin Fowler.com.
  3. SEI อนุกรมเกี่ยวกับวิศวกรรมซอฟต์แวร์ [FLT: 0] Economics of Software triviewments]. . CAMU กระดาษขาว