Skip to main content

การเขียนโปรแกรมแบบไหลคืออะไร?

การเขียนโปรแกรมแบบไหลเป็นวิธีการออกแบบแอพพลิเคชั่นคอมพิวเตอร์และสถาปัตยกรรมที่แตกต่างจากวิธีการออกแบบแอปพลิเคชันแบบดั้งเดิมในข้อมูลนั้นมีวัตถุประสงค์เพื่อประมวลผลในสตรีมโดยส่วนประกอบที่ไม่ได้เชื่อมต่อกันและใช้ระบบส่งข้อความภายนอกสื่อสาร.ภายใต้การเขียนโปรแกรมแบบไหลโฟกัสจะถูกวางไว้ในการแปลงข้อมูลโดยใช้ส่วนประกอบที่แตกต่างกันซึ่งเป็นโมดูลหรือฟังก์ชั่นที่ห่อหุ้มซึ่งไม่มีการเชื่อมต่อโดยตรงกับส่วนประกอบอื่น ๆ ในโปรแกรมสตรีมข้อมูลแต่ละรายการและเหตุการณ์อื่น ๆ ได้รับการจัดการโดยระบบภายนอกของข้อความที่ส่งผ่านซึ่งไม่เหมือนกับโปรโตคอลเครือข่ายบางประเภทซึ่งแพ็กเก็ตข้อมูล (IP) ถูกส่งไปยังโมดูลผ่านการใช้พอร์ตนามธรรมมุมมองการออกแบบที่ใช้ส่วนประกอบนี้ช่วยให้แอปพลิเคชันมีโมดูลรหัสที่พัฒนาแยกต่างหากซึ่งจำเป็นต้องตอบสนองต่อข้อความระบบประมวลผล IP แล้วปล่อย IP กลับเข้าสู่ระบบเท่านั้นวิธีการนี้มีประโยชน์ในระบบกระจายเครือข่ายและสถาปัตยกรรมของโปรแกรมบนอินเทอร์เน็ตและเว็บเช่นเซิร์ฟเวอร์อีคอมเมิร์ซ

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

แต่ละโมดูลแต่ละโมดูลในการไหล-การเขียนโปรแกรมที่ใช้การรับข้อมูลผ่านอินเทอร์เฟซนามธรรมที่รู้จักกันในชื่อพอร์ตซึ่งทำงานเหมือนพอร์ตข้อมูลภายในเครือข่ายคอมพิวเตอร์ข้อมูลจะถูกส่งไปยังพอร์ตผ่านบัฟเฟอร์ที่มีขนาด จำกัด แต่เปลี่ยน IP หลายตัวให้เป็นสตรีมที่ป้อนเข้าพอร์ตอย่างต่อเนื่องพอร์ตเดียวสามารถเกี่ยวข้องกับหลาย ๆ กรณีขององค์ประกอบเดียวทำให้โครงสร้างใช้งานง่ายในระบบกระจายหรือสำหรับการประมวลผลแบบขนาน

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

ดิวิชั่นและโมดูลาร์ของแต่ละองค์ประกอบที่ประกอบไปด้วยแอปพลิเคชันการเขียนโปรแกรมแบบไหลให้ยืมตัวเองดีกับกระบวนการต่าง ๆ เช่นการดีบักและการพัฒนาที่มุ่งเน้นทีมรหัสส่วนใหญ่ถูกห่อหุ้มดังนั้นซอร์สโค้ดจึงมีศักยภาพในการนำกลับมาใช้ใหม่สูงนอกจากนี้ยังหมายความว่าการอัพเกรดหรือปรับขนาดแอปพลิเคชันที่ใช้การเขียนโปรแกรมแบบโฟลว์นั้นง่ายกว่าแอปพลิเคชันแบบบูรณาการมากขึ้นเนื่องจากระบบการส่งข้อความโมดูลและระบบพอร์ตแต่ละระบบสามารถเปลี่ยนแปลงได้อย่างอิสระโดยไม่ส่งผลกระทบต่อโปรแกรมที่ใหญ่กว่า