โลโก้
ยูเนี่ยนพีเดีย
การสื่อสาร
ดาวน์โหลดได้จาก Google Play
ใหม่! ดาวน์โหลด ยูเนี่ยนพีเดีย บน Android ™ของคุณ!
ติดตั้ง
เร็วกว่าเบราว์เซอร์!
 

ดีไซน์แพตเทิร์น

ดัชนี ดีไซน์แพตเทิร์น

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

17 ความสัมพันธ์: ฟะซาดแพตเทิร์นการเขียนโปรแกรมคอมพิวเตอร์การเขียนโปรแกรมเชิงวัตถุภาษาจาวายูเอ็มแอลวอร์ด คันนิงแฮมวิทยาการคอมพิวเตอร์สถาปนิกอะแด็ปเตอร์แพตเทิร์นอินเทอร์พรีเตอร์แพตเทิร์นอ็อบเซิร์ฟเวอร์แพตเทิร์นคอมโพสิตแพตเทิร์นซอฟต์แวร์ซิงเกิลตันแพตเทิร์นแบบโรงงานย่อแฟกทอรีเมธอดแพตเทิร์นเทมเพลทเมธอดแพตเทิร์น

ฟะซาดแพตเทิร์น

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

ใหม่!!: ดีไซน์แพตเทิร์นและฟะซาดแพตเทิร์น · ดูเพิ่มเติม »

การเขียนโปรแกรมคอมพิวเตอร์

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

ใหม่!!: ดีไซน์แพตเทิร์นและการเขียนโปรแกรมคอมพิวเตอร์ · ดูเพิ่มเติม »

การเขียนโปรแกรมเชิงวัตถุ

การเขียนโปรแกรมเชิงวัตถุ (Object-oriented programming, OOP) คือหนึ่งในรูปแบบการเขียนโปรแกรมคอมพิวเตอร์ ที่ให้ความสำคัญกับ วัตถุ ซึ่งสามารถนำมาประกอบกันและนำมาทำงานรวมกันได้ โดยการแลกเปลี่ยนข่าวสารเพื่อนำมาประมวลผลและส่งข่าวสารที่ได้ไปให้ วัตถุ อื่นๆที่เกี่ยวข้องเพื่อให้ทำงานต่อไป แนวคิดการเขียนโปรแกรมแบบดังเดิมมักนิยมใช้ ในการสร้างเว็บไซต์ต่าง.

ใหม่!!: ดีไซน์แพตเทิร์นและการเขียนโปรแกรมเชิงวัตถุ · ดูเพิ่มเติม »

ภาษาจาวา

ลโก้ของภาษาจาวา ภาษาจาวา (Java programming language) เป็นภาษาโปรแกรมเชิงวัตถุ (Object Oriented Programming) พัฒนาโดย เจมส์ กอสลิง และวิศวกรคนอื่นๆ ที่ ซัน ไมโครซิสเต็มส์ ภาษาจาวาถูกพัฒนาขึ้นในปี พ.ศ. 2534 (ค.ศ. 1991) โดยเป็นส่วนหนึ่งของ โครงการกรีน (the Green Project) และสำเร็จออกสู่สาธารณะในปี พ.ศ. 2538 (ค.ศ. 1995) ซึ่งภาษานี้มีจุดประสงค์เพื่อใช้แทนภาษาซีพลัสพลัส (C++) โดยรูปแบบที่เพิ่มเติมขึ้นคล้ายกับภาษาอ็อบเจกต์ทีฟซี (Objective-C) แต่เดิมภาษานี้เรียกว่า ภาษาโอ๊ก (Oak) ซึ่งตั้งชื่อตามต้นโอ๊กใกล้ที่ทำงานของ เจมส์ กอสลิง แต่ว่ามีปัญหาทางลิขสิทธิ์ จึงเปลี่ยนไปใช้ชื่อ "จาวา" ซึ่งเป็นชื่อกาแฟแทน และแม้ว่าจะมีชื่อคล้ายกัน แต่ภาษาจาวาไม่มีความเกี่ยวข้องใด ๆ กับภาษาจาวาสคริปต์ (JavaScript) ปัจจุบันมาตรฐานของภาษาจาวาดูแลโดย Java Community Process ซึ่งเป็นกระบวนการอย่างเป็นทางการ ที่อนุญาตให้ผู้ที่สนใจเข้าร่วมกำหนดความสามารถในจาวาแพลตฟอร์มได้.

ใหม่!!: ดีไซน์แพตเทิร์นและภาษาจาวา · ดูเพิ่มเติม »

ยูเอ็มแอล

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

ใหม่!!: ดีไซน์แพตเทิร์นและยูเอ็มแอล · ดูเพิ่มเติม »

วอร์ด คันนิงแฮม

วอร์ด คันนิงแฮม ผู้สร้างวิกิ เฮาวอร์ด จี.

ใหม่!!: ดีไซน์แพตเทิร์นและวอร์ด คันนิงแฮม · ดูเพิ่มเติม »

วิทยาการคอมพิวเตอร์

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

ใหม่!!: ดีไซน์แพตเทิร์นและวิทยาการคอมพิวเตอร์ · ดูเพิ่มเติม »

สถาปนิก

ร่างสถาปนิก กับงานออกแบบ สถาปนิก คือบุคคลผู้เกี่ยวข้องในการออกแบบ และ วางแผน ในการก่อสร้าง หรือที่เรียกว่างานสถาปัตยกรรม โดยสถาปนิก จะเป็นผู้ที่เข้าใจในมาตรฐานการก่อสร้างของอาคาร เข้าใจถึงหน้าที่ใช้สอยของอาคารนั้น รวมถึงวัสดุที่จะนำมาเป็นส่วนประกอบของสิ่งก่อสร้างนั้น สถาปนิกจำเป็นต้องได้รับการศึกษาทางสถาปัตยกรรมศาสตร์ และได้รับใบอนุญาตประกอบวิชาชีพสถาปัตยกรรม ถึงจะสามารถทำงานในวิชาชีพสถาปนิกได้ ซึ่งคล้ายกับการทำงานในสาขาวิชาชีพอื่น สถาปก คำเก่าของคำว่าสถาปนิก ได้รับพระราชทานจากพระบาทสมเด็จพระมงกุฎเกล้าเจ้าอยู่หัว รัชกาลที่ 6 เป็นศัพท์ภาษาสันสกฤต หมายถึง ผู้สร้าง, ผู้ก่อตั้ง ในเอกสารโบราณก่อนสมัยรัตนโกสินทร์เคยปรากฏคำ "สถาบก" หมายถึง การสร้าง หรือผู้สร้าง รางวัลที่น่ายกย่องของสถาปนิกที่รู้จักในฐานะผู้ก่อสร้างอาคารได้แก่ รางวัลพลิตซ์เกอร์ ซึ่งมักจะถูกเปรียบเทียบเหมือนกับ "รางวัลโนเบลในทางสถาปัตยกรรม".

ใหม่!!: ดีไซน์แพตเทิร์นและสถาปนิก · ดูเพิ่มเติม »

อะแด็ปเตอร์แพตเทิร์น

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

ใหม่!!: ดีไซน์แพตเทิร์นและอะแด็ปเตอร์แพตเทิร์น · ดูเพิ่มเติม »

อินเทอร์พรีเตอร์แพตเทิร์น

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

ใหม่!!: ดีไซน์แพตเทิร์นและอินเทอร์พรีเตอร์แพตเทิร์น · ดูเพิ่มเติม »

อ็อบเซิร์ฟเวอร์แพตเทิร์น

อ็อบเซิร์ฟเวอร์แพตเทิร์น (observer pattern หรือเรียกอีกชื่อว่า พับลิช/ซับสไครบ์ publish/subscribe) เป็นดีไซน์แพตเทิร์นที่ใช้แจ้งเหตุการณ์หรือข้อมูลข่าวสารจากคลาสต้นกำเนิดไปยังคลาสที่สมัครเป็นผู้รับข่าวสาร ตัวอย่างที่เด่นชัดได้แก่การสมัครเป็นสมาชิกรับหนังสือพิมพ์หรือนิตยสาร.

ใหม่!!: ดีไซน์แพตเทิร์นและอ็อบเซิร์ฟเวอร์แพตเทิร์น · ดูเพิ่มเติม »

คอมโพสิตแพตเทิร์น

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

ใหม่!!: ดีไซน์แพตเทิร์นและคอมโพสิตแพตเทิร์น · ดูเพิ่มเติม »

ซอฟต์แวร์

OpenOffice.org Writer ซอฟต์แวร์ (software) หรือ ส่วนชุดคำสั่ง หรือบางครั้งมีการสะกดว่า ซอฟ‌ท์แวร์ เป็นส่วนของระบบคอมพิวเตอร์ที่ใช้ในการจัดเก็บและประมวลผลข้อมูล ซอฟต์แวร์นั้นนอกจากจะสามารถใช้งานบนคอมพิวเตอร์ได้แล้ว ยังสามารถใช้งานบนเครื่องใช้ หรืออุปกรณ์อื่น เช่น โทรศัพท์มือถือ หรือหุ่นยนต์ในโรงงาน หรือเครื่องใช้ไฟฟ้าต่าง ๆ คำว่า "ซอฟต์แวร์" ใช้ครั้งแรกโดย จอห์น ดับเบิลยู. เทอร์กีย์ (John W. Turkey) ในปี พ.ศ. 2500 (ค.ศ. 1957) โดยแนวคิดของซอฟต์แวร์ปรากฏครั้งแรกในเรียงความของแอลัน ทัวริง บิดาของวิทยาการคอมพิวเตอร์ กล่าวกันว่าโปรแกรมคอมพิวเตอร์ชิ้นแรกของโลกเขียนโดยเอดา ไบรอน เป็นโปรแกรมที่ใช้สำหรับเครื่องวิเคราะห์ (analytical engine) ของชาร์ลส แ.

ใหม่!!: ดีไซน์แพตเทิร์นและซอฟต์แวร์ · ดูเพิ่มเติม »

ซิงเกิลตันแพตเทิร์น

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

ใหม่!!: ดีไซน์แพตเทิร์นและซิงเกิลตันแพตเทิร์น · ดูเพิ่มเติม »

แบบโรงงานย่อ

แบบโรงงานย่อ (abstract factory pattern) เป็นรูปแบบการ Design Software ที่ใช้วิธีการรวมกลุ่ม Factory ที่ไม่เกี่ยวข้องกันที่มีรูปแบบเดียวกันไว้ด้วยกัน ทำให้สามารถ Encapsulate กลุ่มของ Factory ที่ไม่เกี่ยวข้องกันที่มีรูปแบบเดียวกันไว้ด้วยกันโดยผู้ใช้จะเรียกใช้งาน Factory ผ่าน Abstract Interface ซึ่งจะทำหน้าที่สร้าง Object ที่เหมาะสมให้แก่ผู้ใช้ได้เองอัตโนมัติหรืออาจให้ผู้ใช้กำหนด Factory Object ที่ต้องการสร้างได้ด้วยตัวเอง ใน Abstract Factory Design Pattern นี้จะแยกรายละเอียดการ Implement ของ Object ออกจากการเรียกใช้.

ใหม่!!: ดีไซน์แพตเทิร์นและแบบโรงงานย่อ · ดูเพิ่มเติม »

แฟกทอรีเมธอดแพตเทิร์น

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

ใหม่!!: ดีไซน์แพตเทิร์นและแฟกทอรีเมธอดแพตเทิร์น · ดูเพิ่มเติม »

เทมเพลทเมธอดแพตเทิร์น

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

ใหม่!!: ดีไซน์แพตเทิร์นและเทมเพลทเมธอดแพตเทิร์น · ดูเพิ่มเติม »

เปลี่ยนเส้นทางที่นี่:

Design PatternDesign Patterns

ขาออกขาเข้า
Hey! เราอยู่ใน Facebook ตอนนี้! »