คำถามติดแท็ก design-patterns

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

3
สถาปัตยกรรม Facebook [ปิด]
เป็นการยากที่จะบอกสิ่งที่ถูกถามที่นี่ คำถามนี้คลุมเครือคลุมเครือไม่สมบูรณ์กว้างเกินไปหรือโวหารและไม่สามารถตอบได้อย่างสมเหตุสมผลในรูปแบบปัจจุบัน สำหรับความช่วยเหลือในการทำความเข้าใจคำถามนี้เพื่อที่จะสามารถเปิด, ไปที่ศูนย์ช่วยเหลือ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันได้อ่านบทความ / ข้อมูลเกี่ยวกับสถาปัตยกรรมที่ Facebook ความท้าทายและวิธีการที่พวกเขาเล่นงาน สิ่งที่พวกเขาใช้และเหตุผลที่พวกเขาใช้ พวกเขาจะปรับขนาดได้อย่างไรและอะไรคือการตัดสินใจออกแบบสำหรับสิ่งที่พวกเขาทำ ฯลฯ การสนับสนุนหลักคือการเรียนรู้ การรู้เกี่ยวกับเว็บไซต์ที่รองรับปริมาณการใช้งานจำนวนมากนั้นมีคำแนะนำมากมายสำหรับสถาปนิกและอื่น ๆ เพื่อระลึกถึงบางสิ่งในขณะที่ออกแบบไซต์ใหม่ ฉันแบ่งปันสิ่งที่ฉันพบ วิทยาศาสตร์ Facebook & กราฟสังคม (วิดีโอ) สเกลที่ Facebook สถาปัตยกรรม Facebook Chat บล็อก Facebook สถาปัตยกรรมและการออกแบบ Facebook Cassandra หมายเหตุวิศวกรรม Facebook Quora - สถาปัตยกรรม Facebook Facebook สำหรับผู้ใช้ 600 ล้านคน Hadoop & การใช้งานที่ Facebook Erlang ที่ …

14
ทำความเข้าใจกับ“ รูปแบบมัณฑนากร” ด้วยตัวอย่างจริงของโลก
ผมได้รับการศึกษาแบบมัณฑนากรเป็นเอกสารในการขาด โปรดช่วยผมเข้าใจแบบมัณฑนากร ใครช่วยยกตัวอย่างการใช้กรณีที่มีประโยชน์ในโลกแห่งความจริง?

9
รูปแบบการออกแบบหรือแนวปฏิบัติที่ดีที่สุดสำหรับเชลล์สคริปต์ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน8 ปีที่ผ่านมา ไม่มีใครรู้เกี่ยวกับทรัพยากรใด ๆ ที่พูดถึงแนวปฏิบัติที่ดีที่สุดหรือรูปแบบการออกแบบสำหรับเชลล์สคริปต์ (sh, bash เป็นต้น)

6
รูปแบบการออกแบบหลาม [ปิด]
ปิด. คำถามนี้ไม่เป็นไปตามหลักเกณฑ์กองมากเกิน ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Stack Overflow ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ ฉันกำลังมองหาแหล่งข้อมูลใด ๆ ที่ให้ตัวอย่างของวิธีปฏิบัติที่ดีที่สุดรูปแบบการออกแบบและหลักการ SOLID โดยใช้ Python

10
การใช้รูปแบบการรวมวัตถุ C #
ใครบ้างมีทรัพยากรที่ดีในการใช้กลยุทธ์กลุ่มวัตถุที่ใช้ร่วมกันสำหรับทรัพยากรที่ จำกัด ในหลอดเลือดดำของการเชื่อมต่อ SQL Pooling? (กล่าวคือจะถูกนำไปใช้อย่างเต็มที่ซึ่งจะปลอดภัยต่อเธรด) ในการติดตามเกี่ยวกับคำร้องขอ @Aaronaught สำหรับการชี้แจงการใช้พูลจะเป็นการร้องขอการทำโหลดบาลานซ์ให้กับบริการภายนอก การวางไว้ในสถานการณ์ที่อาจจะง่ายกว่าที่จะเข้าใจได้ทันทีเมื่อเทียบกับคำบรรยายโดยตรงของฉัน ฉันมีวัตถุเซสชันที่ทำงานคล้ายกับISessionวัตถุจาก NHibernate แต่ละเซสชั่นที่ไม่ซ้ำกันจัดการมันเชื่อมต่อกับฐานข้อมูล ขณะนี้ฉันมีวัตถุเซสชันที่ใช้งานมานาน 1 ครั้งและกำลังประสบปัญหาซึ่งผู้ให้บริการของฉันกำลัง จำกัด อัตราการใช้งานเซสชันนี้ เนื่องจากขาดความคาดหวังว่าเซสชันเดียวจะถือว่าเป็นบัญชีบริการที่ใช้งานมานานพวกเขาจึงถือว่าเป็นลูกค้าที่ใช้บริการของพวกเขา ซึ่งนำมาสู่คำถามของฉันที่นี่แทนที่จะมี 1 เซสชันส่วนตัวฉันจะสร้างกลุ่มของเซสชันที่แตกต่างกันและแยกคำขอขึ้นอยู่กับบริการในหลาย ๆ เซสชันแทนที่จะสร้างจุดโฟกัสเดียวที่ฉันทำ หวังว่าพื้นหลังนั้นมีคุณค่า แต่จะตอบคำถามของคุณโดยตรง: ถาม:วัตถุมีราคาแพงในการสร้างหรือไม่ ตอบ:ไม่มีวัตถุใด ๆ เป็นแหล่งรวมทรัพยากรที่ จำกัด ถาม:พวกเขาจะได้รับ / เผยแพร่บ่อยมากหรือไม่ ตอบ:ใช่อีกครั้งที่พวกเขาสามารถนึกถึง NHibernate ISessions ที่มักจะได้รับและเผยแพร่ 1 ตลอดระยะเวลาของคำขอหน้าเดียวทุกครั้ง คำถาม:คนที่มาก่อนได้ก่อนมาง่าย ๆ หรือคุณต้องการสิ่งที่ฉลาดกว่านั่นคือการป้องกันความอดอยาก? ตอบ:การกระจายประเภทโรบินรอบเรียบง่ายพอเพียงโดยความอดอยากฉันถือว่าคุณหมายความว่าหากไม่มีเซสชันที่ผู้โทรติดต่อถูกบล็อกรอการเผยแพร่ สิ่งนี้ไม่สามารถใช้งานได้จริงเนื่องจากเซสชันสามารถใช้ร่วมกันโดยผู้โทรที่แตกต่างกัน เป้าหมายของฉันคือการกระจายการใช้งานในหลาย ๆ เซสชันเมื่อเทียบกับ 1 เซสชันเดียว …

4
ความแตกต่างระหว่าง Observer, Pub / Sub และ Data Binding
คือความแตกต่างระหว่างสิ่งที่รูปแบบสังเกตการณ์ , เผยแพร่ / สมัครสมาชิกและการผูกข้อมูล ? ฉันค้นหาใน Stack Overflow เล็กน้อยและไม่พบคำตอบที่ดี สิ่งที่ฉันเชื่อคือการผูกข้อมูลเป็นคำทั่วไปและมีวิธีการใช้งานที่แตกต่างกันเช่นรูปแบบการสังเกตการณ์หรือรูปแบบ Pub / Sub ด้วยรูปแบบ Observer Observable จะอัพเดต Observers ด้วย Pub / Sub ผู้เผยแพร่โฆษณาจำนวนมากสามารถเผยแพร่ข้อความของบางคลาสและสมาชิกจำนวนมากสามารถสมัครสมาชิกข้อความของคลาสที่ต้องการได้ มีรูปแบบอื่น ๆ ของการใช้ "การผูกข้อมูล" หรือไม่?

16
ความแตกต่างระหว่างวิธีแม่แบบและรูปแบบกลยุทธ์คืออะไร?
ใครช่วยอธิบายให้ฉันฟังได้ว่าอะไรคือความแตกต่างระหว่างรูปแบบวิธีการแม่แบบและรูปแบบกลยุทธ์คืออะไร เท่าที่ฉันสามารถบอกได้ว่าพวกเขาเหมือนกัน 99% - ความแตกต่างเพียงอย่างเดียวคือรูปแบบวิธีการของแม่แบบมีคลาสนามธรรมเป็นคลาสฐานในขณะที่ชั้นกลยุทธ์ใช้อินเทอร์เฟซที่ดำเนินการโดยชั้นกลยุทธ์แต่ละชั้น อย่างไรก็ตามเท่าที่ลูกค้ามีความกังวลพวกเขาจะบริโภคในลักษณะเดียวกัน - ถูกต้องหรือไม่

10
รูปแบบการออกแบบ UI สำหรับแบบฟอร์ม Windows (เช่น MVVM สำหรับ WPF)
MVVM มักใช้กับ WPF เพราะมันเหมาะที่สุดสำหรับมัน แต่ Windows Forms เป็นอย่างไรบ้าง มีรูปแบบวิธีการ / ออกแบบที่เป็นที่ยอมรับและใช้กันทั่วไปเช่นนี้สำหรับ Windows Forms หรือไม่ รูปแบบที่ใช้งานได้ดีกับ Windows Forms หรือไม่ มีหนังสือหรือบทความที่อธิบายสิ่งนี้ได้ดีหรือไม่? อาจจะเป็น MVP หรือ MVC?

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

4
เหตุใดและวิธีการหลีกเลี่ยงการรั่วไหลของหน่วยความจำตัวจัดการเหตุการณ์?
ฉันเพิ่งรู้เมื่ออ่านคำถามและคำตอบใน StackOverflow ว่าการเพิ่มตัวจัดการเหตุการณ์ที่ใช้+=ใน C # (หรือฉันเดาภาษา. net อื่น ๆ ) อาจทำให้หน่วยความจำรั่วทั่วไป ... ฉันเคยใช้ตัวจัดการเหตุการณ์เช่นนี้มาหลายครั้งแล้วและไม่เคยรู้เลยว่าพวกเขาสามารถทำให้เกิดหรือทำให้หน่วยความจำรั่วในแอปพลิเคชันของฉัน ทำงานอย่างไร (หมายถึงเหตุใดจึงทำให้หน่วยความจำรั่ว) ฉันจะแก้ไขปัญหานี้ได้อย่างไร ใช้-=ตัวจัดการเหตุการณ์เดียวกันเพียงพอหรือไม่ มีรูปแบบการออกแบบทั่วไปหรือแนวทางปฏิบัติที่ดีที่สุดสำหรับการจัดการสถานการณ์เช่นนี้หรือไม่? ตัวอย่าง: ฉันควรจัดการแอปพลิเคชันที่มีหลายเธรดต่างกันอย่างไรโดยใช้ตัวจัดการเหตุการณ์ต่าง ๆ เพื่อเพิ่มหลายเหตุการณ์บน UI มีวิธีที่ดีและเรียบง่ายในการตรวจสอบนี้อย่างมีประสิทธิภาพในแอปพลิเคชันขนาดใหญ่ที่สร้างขึ้นแล้วหรือไม่?


5
AngularJS: เข้าใจรูปแบบการออกแบบ
ในบริบทของโพสต์นี้โดย Igor Minar, ผู้นำของ AngularJS: MVC VS MVVM VS MVP เป็นหัวข้อที่ถกเถียงกันอยู่ว่านักพัฒนาหลายคนสามารถใช้เวลาหลายชั่วโมงในการโต้วาทีและโต้เถียงกัน สำหรับหลายปี AngularJS ได้ใกล้ชิดกับ MVC (หรือมากกว่าหนึ่งในฝั่งไคลเอ็นต์ของสายพันธุ์) แต่เมื่อเวลาผ่านไปและขอขอบคุณที่ refactorings จำนวนมากและการปรับปรุง API ก็ตอนนี้ใกล้ชิดกับMVVM - The $ ขอบเขตวัตถุอาจได้รับการพิจารณาViewModelว่าจะถูก ตกแต่งด้วยฟังก์ชั่นที่เราเรียกว่าเป็นตัวควบคุม ความสามารถในการจัดประเภทเฟรมเวิร์กและนำไปไว้ในหนึ่งในที่เก็บ MV * มีข้อดีบางประการ มันสามารถช่วยให้นักพัฒนารู้สึกคุ้นเคยกับ apis มากขึ้นด้วยการทำให้ง่ายต่อการสร้างแบบจำลองทางจิตที่แสดงถึงแอปพลิเคชันที่ถูกสร้างขึ้นด้วยกรอบงาน นอกจากนี้ยังสามารถช่วยในการสร้างคำศัพท์ที่ใช้โดยนักพัฒนา ต้องบอกว่าฉันอยากเห็นนักพัฒนาสร้างแอพ kick-ass ที่ได้รับการออกแบบมาอย่างดีและติดตามความกังวลมากกว่าที่จะเห็นพวกเขาเสียเวลาเถียงเกี่ยวกับเรื่องไร้สาระ MV * และด้วยเหตุผลนี้ผมขอประกาศ AngularJSจะเป็นกรอบ MVW - Model-View-สิ่งที่ ไม่ว่าอะไรจะเกิดขึ้นกับ " สิ่งใดก็ตามที่เหมาะกับคุณ " Angular ให้ความยืดหยุ่นในการแยกตรรกะการนำเสนอออกจากตรรกะทางธุรกิจและสถานะการนำเสนออย่างมาก …

13
วิธีการนำรูปแบบตัวสร้างไปใช้ใน Kotlin
สวัสดีฉันเป็นมือใหม่ในโลก Kotlin ฉันชอบสิ่งที่ฉันเห็นและเริ่มคิดที่จะแปลงห้องสมุดของเราบางส่วนที่เราใช้ในแอปพลิเคชันของเราจาก Java เป็น Kotlin ไลบรารีเหล่านี้เต็มไปด้วย Pojos ด้วย setters, getters และคลาส Builder ตอนนี้ฉันได้ค้นหาวิธีที่ดีที่สุดในการใช้ Builders ใน Kotlin แต่ไม่ประสบความสำเร็จ อัปเดตครั้งที่ 2: คำถามคือวิธีเขียนแบบการออกแบบ Builder สำหรับ pojo แบบง่ายพร้อมพารามิเตอร์บางอย่างใน Kotlin รหัสด้านล่างคือความพยายามของฉันโดยการเขียนโค้ดจาวาแล้วใช้ eclipse-kotlin-plugin เพื่อแปลงเป็น Kotlin class Car private constructor(builder:Car.Builder) { var model:String? = null var year:Int = 0 init { this.model = builder.model this.year = …

7
การใช้ข้อคิดเห็นและไลค์ในฐานข้อมูล
ฉันเป็นนักพัฒนาซอฟต์แวร์ ฉันรักที่จะรหัส แต่ฉันเกลียดฐานข้อมูล ... ปัจจุบันฉันสร้างเว็บไซต์ที่ผู้ใช้จะได้รับอนุญาตให้ทำเครื่องหมายกิจการเป็นชอบ (เหมือนใน FB) แท็กมันและแสดงความคิดเห็น ฉันติดอยู่กับการออกแบบตารางฐานข้อมูลสำหรับจัดการฟังก์ชันนี้ การแก้ปัญหาเป็นเรื่องไม่สำคัญหากเราสามารถทำสิ่งนี้ได้เพียงประเภทเดียวเท่านั้น (เช่นภาพถ่าย) แต่ฉันต้องเปิดใช้งานสิ่งนี้สำหรับ 5 สิ่งที่แตกต่างกัน (ตอนนี้ แต่ฉันยังคิดว่าจำนวนนี้สามารถเพิ่มขึ้นได้เช่นกันเมื่อการบริการทั้งหมดเพิ่มขึ้น) ฉันพบคำถามที่คล้ายกันที่นี่ แต่ไม่มีคำตอบที่น่าพอใจดังนั้นฉันจึงถามคำถามนี้อีกครั้ง คำถามคือวิธีการที่ถูกต้องได้อย่างมีประสิทธิภาพและยืดหยุ่นในการออกแบบฐานข้อมูลเพื่อที่จะสามารถเก็บความคิดเห็นแตกต่างกันสำหรับตาราง , ชอบแตกต่างกันสำหรับตารางและแท็กสำหรับพวกเขา รูปแบบการออกแบบบางคำตอบจะดีที่สุด;) รายละเอียด : ฉันมีตาราง Userที่มีข้อมูลของผู้ใช้บางส่วนและอีก 3 ตาราง : Photoกับการถ่ายภาพ , Articlesกับบทความ , Placesกับสถานที่ ฉันต้องการเปิดใช้งานผู้ใช้ที่บันทึกไว้เพื่อ: แสดงความคิดเห็นใด ๆ ใน 3 ตารางเหล่านั้น ทำเครื่องหมายใด ๆ ของพวกเขาเป็นที่ชอบ ติดแท็กใด ๆ ของพวกเขาด้วยแท็กบางอย่าง ฉันต้องการนับจำนวนไลค์สำหรับทุกองค์ประกอบและจำนวนครั้งที่ใช้แท็กเฉพาะ 1 เซนต์วิธีการ : …

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.