คำถามติดแท็ก architecture

สถาปัตยกรรมครอบคลุมกระบวนการสิ่งประดิษฐ์และโครงสร้างระดับสูงของโซลูชัน

7
สถาปัตยกรรมสำหรับการรวมบัญชีผู้ใช้หลายบัญชีเข้าด้วยกัน
ตกลงฉันมีเว็บไซต์ที่คุณสามารถลงทะเบียนด้วยตัวคุณเองและเข้าสู่ระบบ นอกจากนี้คุณยังสามารถเข้าสู่ระบบด้วยบัญชี facebook, twitter หรือ linkedin ของคุณ เป็นสิ่งสำคัญที่ผู้ใช้จะต้องลงทะเบียนเพียงหนึ่งบัญชี ดังนั้นฉันต้องการรวมบัญชีของผู้ใช้หากพวกเขาใช้วิธีการต่าง ๆ ในการเข้าสู่ระบบ ทางออกที่ดีที่สุดในการแก้ปัญหานี้คืออะไร? ตัวอย่างเช่นผู้ใช้เข้าสู่ระบบด้วยบัญชี Facebook ของเขา ฉันใช้ข้อมูลเพื่อลงทะเบียนบัญชีสำหรับเขาโดยอัตโนมัติ ฉันควรส่งอีเมลพร้อมชื่อผู้ใช้และรหัสผ่านของเว็บไซต์ของเราหรือไม่ (หากเป็นไปตามนโยบายของ Facebook) ฉันควรให้หน้าจอที่สองที่พวกเขาสามารถกรอกชื่อผู้ใช้และรหัสผ่านได้หรือไม่ แต่นั่นไม่ใช่แนวคิดในการเข้าสู่ระบบด้วยบัญชี Facebook ของคุณ ควรทำให้ขั้นตอนของคุณง่ายขึ้นในการเข้าร่วม อาจเป็นไปได้ว่าผู้ใช้ลงทะเบียนตัวเองบนเว็บไซต์ของเราและครั้งต่อไปที่เขาลงชื่อเข้าใช้ด้วยบัญชีตัวสั่นด้วยความตื่นเต้น ฉันจะรวม 2 บัญชีเหล่านี้เข้าด้วยกันได้อย่างไร วิธีที่ดีที่สุดคืออะไร ดังนั้นโดยทั่วไปคำถามของฉันคือฉันได้ 4 วิธีที่แตกต่างกันที่ผู้ใช้เป็นสมาชิกของเว็บไซต์ของเรา ฉันจะแน่ใจได้อย่างไรว่าทั้ง 4 วิธีนี้สร้างเพียงหนึ่งบัญชีหากผู้ใช้ตัดสินใจที่จะใช้หลายวิธี การไหลที่ดีที่สุดคืออะไรเพื่อให้แน่ใจว่าผู้ใช้จะไม่สร้างความยุ่งยากให้กับตัวเอง? แก้ไข: 3 ปีหลังจากที่ฉันถามคำถามนี้ฉันจะให้คำตอบตัวเองในชุดของบทความ: https://www.peternijssen.nl/social-network-authentication-setup/ https://www.peternijssen.nl/social- network-authentication-google / https://www.peternijssen.nl/social-network-authentication-merging-accounts/ https://www.peternijssen.nl/social-network-authentication-twitter-facebook/

10
สถาปัตยกรรม GraphQL และ Microservice
ฉันพยายามเข้าใจว่า GraphQL เหมาะสมที่สุดที่จะใช้ภายในสถาปัตยกรรม Microservice หรือไม่ มีการถกเถียงกันเกี่ยวกับการมีสกีมา GraphQL เพียง 1 ตัวที่ทำหน้าที่เป็น API เกตเวย์เป็นผู้รับการร้องขอไปยังไมโครไซต์เป้าหมายและบีบบังคับการตอบสนองของพวกเขา Microservices ยังคงใช้โปรโตคอล REST / Thrift สำหรับการสื่อสารความคิด อีกวิธีหนึ่งคือการมีหลาย ๆ สโคป GraphQL หนึ่งรายการต่อ microservice แทน มีเซิร์ฟเวอร์ API เกตเวย์ขนาดเล็กกว่าซึ่งกำหนดเส้นทางการร้องขอไปยัง microservice เป้าหมายด้วยข้อมูลทั้งหมดของคำขอ + แบบสอบถาม GraphQL แนวทางที่ 1 การมี 1 GraphQL Schema เป็น API Gateway จะมีข้อเสียที่ทุกครั้งที่คุณเปลี่ยนอินพุต / เอาต์พุตสัญญา microservice ของคุณเราต้องเปลี่ยน GraphQL Schema ตามด้าน …


9
บริการควรส่งคืน DTO เสมอหรือพวกเขาสามารถส่งคืนโมเดลโดเมนได้หรือไม่
ฉันกำลังออกแบบแอพพลิเคชั่นขนาดใหญ่อีกครั้งเราใช้สถาปัตยกรรมหลายชั้นที่ใช้ DDD เรามี MVC พร้อมชั้นข้อมูล (การใช้พื้นที่เก็บข้อมูล) ชั้นโดเมน (คำจำกัดความของรูปแบบโดเมนและอินเทอร์เฟซ - พื้นที่เก็บข้อมูลบริการหน่วยงาน) ชั้นบริการ (การนำบริการไปใช้) จนถึงตอนนี้เราใช้โมเดลโดเมน (เอนทิตีส่วนใหญ่) ครอบคลุมเลเยอร์ทั้งหมดและเราใช้ DTOs เป็นแบบจำลองการดูเท่านั้น (ในตัวควบคุมบริการส่งคืนโมเดลโดเมนและตัวควบคุมสร้างโมเดลการดูซึ่งส่งผ่านไปยังมุมมอง) ฉันได้อ่านบทความมากมายเกี่ยวกับการใช้ไม่ใช้การแมปและการผ่าน DTO ฉันเข้าใจว่าไม่มีคำตอบที่ชัดเจน แต่ฉันไม่แน่ใจว่ามันใช้ได้หรือไม่ส่งคืนโมเดลโดเมนจากบริการไปยังตัวควบคุม ถ้าฉันส่งคืนโมเดลโดเมนมันยังไม่เคยผ่านไปยังมุมมองเนื่องจากตัวควบคุมจะสร้างมุมมองเฉพาะมุมมองเสมอ - ในกรณีนี้มันดูเป็นเรื่องถูกกฎหมาย ในทางกลับกันมันไม่รู้สึกว่าถูกต้องเมื่อโมเดลโดเมนออกจากชั้นธุรกิจ (ชั้นบริการ) บางครั้งบริการจำเป็นต้องส่งคืนวัตถุข้อมูลที่ไม่ได้กำหนดไว้ในโดเมนและจากนั้นเราต้องเพิ่มวัตถุใหม่ไปยังโดเมนที่ไม่ได้ถูกแมปหรือสร้างวัตถุ POCO (นี่น่าเกลียดเนื่องจากบริการบางอย่างกลับโดเมนบางรุ่น ส่งคืน DTO อย่างมีประสิทธิภาพ) คำถามคือ - ถ้าเราใช้โมเดลการดูอย่างเคร่งครัดเป็นไรหรือไม่ที่จะส่งคืนโมเดลโดเมนไปยังตัวควบคุมหรือเราควรใช้ DTOs สำหรับการสื่อสารกับชั้นบริการเสมอหรือไม่ ถ้าเป็นเช่นนั้นจะเป็นการดีที่จะปรับรูปแบบโดเมนตามบริการที่ต้องการ (ตรงไปตรงมาฉันไม่คิดอย่างนั้นเพราะบริการควรใช้โดเมนใด) หากเราควรยึดติดกับ DTO อย่างเคร่งครัดควรกำหนดไว้ในเลเยอร์บริการหรือไม่ (ฉันคิดอย่างนั้น) บางครั้งก็ชัดเจนว่าเราควรใช้ DTOs (เช่นเมื่อบริการดำเนินการตรรกะทางธุรกิจจำนวนมากและสร้างวัตถุใหม่) บางครั้งก็ชัดเจนว่าเราควรใช้เพียงแค่รูปแบบโดเมน (เช่นเมื่อบริการสมาชิกส่งคืนผู้ใช้โลหิตจาง s) …

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

7
สถาปัตยกรรมที่แปลกใหม่ที่คณะกรรมการมาตรฐานใส่ใจ
ฉันรู้ว่ามาตรฐาน C และ C ++ ออกจากแง่มุมต่าง ๆ ของการใช้งานภาษาที่กำหนดเพราะถ้ามีสถาปัตยกรรมที่มีคุณสมบัติอื่น ๆ มันจะยากมากหรือเป็นไปไม่ได้ที่จะเขียนคอมไพเลอร์ที่สอดคล้องกับมาตรฐาน ฉันรู้ว่า 40 ปีที่แล้วคอมพิวเตอร์เครื่องใดมีคุณสมบัติเฉพาะของตัวเอง อย่างไรก็ตามฉันไม่รู้สถาปัตยกรรมที่ใช้ในปัจจุบันที่: CHAR_BIT != 8 signed ไม่ใช่สองส่วน (ฉันได้ยินว่า Java มีปัญหากับอันนี้) จุดลอยตัวไม่เป็นไปตามมาตรฐาน IEEE 754 (แก้ไข: ฉันหมายถึง "ไม่ได้อยู่ในการเข้ารหัสแบบไบนารีของ IEEE 754") เหตุผลที่ฉันขอคือว่าผมมักจะอธิบายให้คนที่เป็นของดีที่ C ++ ไม่อาณัติด้านระดับต่ำอื่น ๆ เช่นประเภทขนาดคง† มันดีเพราะไม่เหมือน 'ภาษาอื่น ๆ ' เพราะมันทำให้โค้ดของคุณพกพาได้เมื่อใช้อย่างถูกต้อง (แก้ไข: เนื่องจากมันสามารถย้ายไปยังสถาปัตยกรรมอื่น ๆ ได้โดยไม่ต้องจำลองด้านต่ำของเครื่องเช่นเช่นเลขคณิตสองส่วนของเครื่องหมาย + สถาปัตยกรรมขนาด) . แต่ฉันรู้สึกแย่ที่ฉันไม่สามารถชี้ไปที่สถาปัตยกรรมเฉพาะได้ด้วยตัวเอง ดังนั้นคำถามคือสถาปัตยกรรมใดที่แสดงคุณสมบัติข้างต้น …
154 c++  c  architecture 

9
วิธีสร้างสถาปัตยกรรมปลั๊กอินแบบยืดหยุ่น
ชุดรูปแบบซ้ำในงานพัฒนาของฉันคือการใช้หรือการสร้างสถาปัตยกรรมปลั๊กอินภายในองค์กร ฉันเคยเห็นมันเข้าหาหลายวิธี - ไฟล์การกำหนดค่า (XML, .conf และอื่น ๆ ) เฟรมเวิร์กการสืบทอดข้อมูลฐานข้อมูลไลบรารีและอื่น ๆ จากประสบการณ์ของฉัน: ฐานข้อมูลไม่ได้เป็นสถานที่ที่ดีในการจัดเก็บข้อมูลการกำหนดค่าของคุณโดยเฉพาะอย่างยิ่งร่วมกับข้อมูล การพยายามทำสิ่งนี้ด้วยลำดับชั้นการสืบทอดจำเป็นต้องมีความรู้เกี่ยวกับปลั๊กอินที่จะเข้าสู่ระบบซึ่งหมายความว่าสถาปัตยกรรมปลั๊กอินนั้นไม่ได้เป็นแบบไดนามิกทั้งหมด ไฟล์กำหนดค่าทำงานได้ดีสำหรับการให้ข้อมูลที่เรียบง่าย แต่ไม่สามารถจัดการกับพฤติกรรมที่ซับซ้อนกว่านี้ได้ ดูเหมือนว่าห้องสมุดจะทำงานได้ดี แต่ต้องสร้างการอ้างอิงแบบทางเดียว ในขณะที่ฉันพยายามเรียนรู้จากสถาปัตยกรรมที่หลากหลายที่ฉันทำงานด้วยฉันก็กำลังมองหาคำแนะนำจากชุมชนเช่นกัน คุณนำสถาปัตยกรรมปลั๊กอินไปใช้อย่างไร อะไรคือความล้มเหลวที่เลวร้ายที่สุดของคุณ (หรือความล้มเหลวที่เลวร้ายที่สุดที่คุณเคยเห็น) คุณจะทำอย่างไรถ้าคุณจะใช้สถาปัตยกรรมปลั๊กอินใหม่ โครงการ SDK หรือโอเพ่นซอร์สใดที่คุณทำงานด้วยมีตัวอย่างที่ดีที่สุดของสถาปัตยกรรมที่ดี? ตัวอย่างเล็ก ๆ น้อย ๆ ที่ฉันพบด้วยตัวเอง: Perl's Module :: PlugableและIOCสำหรับการฉีดพึ่งพาใน Perl Spring Framework ต่างๆ (Java, .NET, Python) สำหรับการฉีดแบบพึ่งพา คำถาม SOกับรายการสำหรับ Java (รวมถึงการให้บริการของผู้ให้บริการการเชื่อมต่อ ) คำถาม SOสำหรับ …

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 ให้ความยืดหยุ่นในการแยกตรรกะการนำเสนอออกจากตรรกะทางธุรกิจและสถานะการนำเสนออย่างมาก …

10
อธิบายสถาปัตยกรรมที่คุณใช้สำหรับเว็บแอปพลิเคชัน Java หรือไม่ [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปรับปรุงคำถามนี้ มาแบ่งปันสถาปัตยกรรมแอปพลิเคชันบนเว็บของ Java กันเถอะ! มีสถาปัตยกรรมที่แตกต่างกันมากมายสำหรับเว็บแอปพลิเคชันซึ่งจะนำไปใช้งานโดยใช้ Java คำตอบสำหรับคำถามนี้อาจทำหน้าที่เป็นห้องสมุดของการออกแบบเว็บแอปพลิเคชันที่หลากหลายด้วยข้อดีข้อเสีย ในขณะที่ฉันรู้ว่าคำตอบจะเป็นอัตนัยลองเป็นเป้าหมายให้มากที่สุดเท่าที่จะทำได้และกระตุ้นให้เกิดข้อดีและข้อเสียที่เรามี ใช้ระดับรายละเอียดที่คุณต้องการสำหรับอธิบายสถาปัตยกรรมของคุณ เพื่อให้คำตอบของคุณมีค่าอย่างน้อยที่สุดคุณจะต้องอธิบายเทคโนโลยีและแนวคิดหลักที่ใช้ในสถาปัตยกรรมที่คุณอธิบาย และสุดท้าย แต่ไม่น้อยเมื่อเราควรใช้สถาปัตยกรรมของคุณหรือไม่ ฉันจะเริ่ม ... ภาพรวมของสถาปัตยกรรม เราใช้สถาปัตยกรรม 3 ชั้นตามมาตรฐานแบบเปิดจาก Sun เช่น Java EE, Java Persistence API, Servlet และ Java Server Pages วิริยะ ธุรกิจ การเสนอ การสื่อสารที่เป็นไปได้ระหว่างเลเยอร์ถูกแทนด้วย: Persistence <-> Business <-> Presentation ตัวอย่างเช่นหมายความว่าเลเยอร์การนำเสนอไม่เคยโทรหรือทำการดำเนินการติดตามันทำผ่านเลเยอร์ธุรกิจเสมอ สถาปัตยกรรมนี้มีขึ้นเพื่อตอบสนองความต้องการของเว็บแอพพลิเคชันที่มีความพร้อมใช้งานสูง วิริยะ ดำเนินการสร้างอ่านอ่านอัปเดตและลบ …

3
กลยุทธ์การตรวจสอบความถูกต้องของ Microservice
ฉันมีปัญหาในการเลือกกลยุทธ์การตรวจสอบสิทธิ์ที่เหมาะสม / ปลอดภัยสำหรับสถาปัตยกรรมไมโครเซอร์วิส โพสต์ SO เดียวที่ฉันพบในหัวข้อนี้คือSingle Sign-On ใน Microservice Architecture ความคิดของฉันที่นี่คือการมีในแต่ละบริการ (เช่นการรับรองความถูกต้องการส่งข้อความการแจ้งเตือนโปรไฟล์ ฯลฯ ) การอ้างอิงที่ไม่ซ้ำกันสำหรับผู้ใช้แต่ละคน (ค่อนข้างมีเหตุผลแล้วของเขาuser_id) และความเป็นไปได้ที่จะรับผู้ใช้ปัจจุบันidหากเข้าสู่ระบบ จากการวิจัยของฉันฉันเห็นว่ามีสองกลยุทธ์ที่เป็นไปได้: 1. สถาปัตยกรรมที่ใช้ร่วมกัน ในกลยุทธ์นี้แอปตรวจสอบความถูกต้องเป็นหนึ่งในบริการอื่น ๆ แต่แต่ละบริการต้องสามารถทำการแปลงsession_id=> ได้user_idดังนั้นจึงต้องตายง่ายๆ นั่นเป็นเหตุผลที่ฉันนึกถึง Redis ซึ่งจะเก็บคีย์: ค่าsession_id:user_idไว้ 2. สถาปัตยกรรมไฟร์วอลล์ ในกลยุทธ์นี้การจัดเก็บเซสชันไม่ได้มีความสำคัญมากนักเนื่องจากได้รับการจัดการโดยแอปตรวจสอบสิทธิ์เท่านั้น จากนั้นuser_idสามารถส่งต่อไปยังบริการอื่น ๆ ฉันนึกถึง Rails + Devise (+ Redis หรือ mem-cached หรือที่เก็บคุกกี้ ฯลฯ ) แต่มีความเป็นไปได้มากมาย สิ่งเดียวที่สำคัญคือ Service X ไม่จำเป็นต้องตรวจสอบสิทธิ์ผู้ใช้ วิธีการแก้ปัญหาทั้งสองนี้เปรียบเทียบกันอย่างไรในแง่ของ: …

6
วิธีการนำกระแสกิจกรรมไปใช้ในเครือข่ายโซเชียล
ฉันกำลังพัฒนาเครือข่ายโซเชียลของฉันเองและฉันไม่พบตัวอย่างของการใช้งานเว็บสตรีมของการกระทำของผู้ใช้ ... ตัวอย่างเช่นวิธีการกรองการกระทำสำหรับผู้ใช้แต่ละคน? วิธีการจัดเก็บกิจกรรมการกระทำ? โมเดลข้อมูลและโมเดลวัตถุใดที่ฉันสามารถใช้สำหรับสตรีมการดำเนินการและสำหรับแอคชั่นที่ใช้ได้

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

3
ในสถาปัตยกรรม Flux คุณจัดการวงจรชีวิตของ Store ได้อย่างไร
ฉันกำลังอ่านเกี่ยวกับFluxแต่ตัวอย่างแอป Todoนั้นง่ายเกินไปสำหรับฉันที่จะเข้าใจประเด็นสำคัญบางประการ ลองนึกภาพแอปหน้าเดียวเช่น Facebook ที่มีหน้าโปรไฟล์ของผู้ใช้ ในหน้าโปรไฟล์ผู้ใช้แต่ละหน้าเราต้องการแสดงข้อมูลผู้ใช้บางส่วนและโพสต์ล่าสุดของพวกเขาด้วยการเลื่อนที่ไม่สิ้นสุด เราสามารถนำทางจากโปรไฟล์ผู้ใช้หนึ่งไปยังอีกโปรไฟล์หนึ่งได้ ในสถาปัตยกรรม Flux สิ่งนี้จะสอดคล้องกับ Stores และ Dispatchers อย่างไร เราจะใช้หนึ่งคนPostStoreต่อผู้ใช้หรือเราจะมีร้านค้าระดับโลกบ้างไหม? แล้วผู้มอบหมายงานเราจะสร้างผู้มอบหมายงานใหม่สำหรับ "หน้าผู้ใช้" แต่ละหน้าหรือจะใช้ซิงเกิลตัน สุดท้ายส่วนใดของสถาปัตยกรรมที่รับผิดชอบในการจัดการวงจรชีวิตของร้านค้า“ เฉพาะเพจ” เพื่อตอบสนองต่อการเปลี่ยนแปลงเส้นทาง ยิ่งไปกว่านั้นหน้าหลอกหน้าเดียวอาจมีรายการข้อมูลประเภทเดียวกันหลายรายการ ยกตัวอย่างเช่นในหน้าโปรไฟล์ของผมต้องการที่จะแสดงทั้งติดตามและดังต่อไปนี้ Singleton สามารถUserStoreทำงานได้อย่างไรในกรณีนี้? จะUserPageStoreจัดการfollowedBy: UserStoreและfollows: UserStore?

5
ข้อดีของการสร้างที่เก็บทั่วไปเทียบกับที่เก็บเฉพาะสำหรับแต่ละอ็อบเจ็กต์?
เรากำลังพัฒนาแอปพลิเคชัน ASP.NET MVC และตอนนี้กำลังสร้างคลาสที่เก็บ / บริการ ฉันสงสัยว่าการสร้างอินเทอร์เฟซ IRepository ทั่วไปมีประโยชน์หรือไม่เมื่อเทียบกับแต่ละ Repository ที่มีอินเทอร์เฟซและชุดวิธีการเฉพาะของตัวเอง ตัวอย่างเช่นอินเทอร์เฟซ IRepository ทั่วไปอาจมีลักษณะดังนี้ (นำมาจากคำตอบนี้ ): public interface IRepository : IDisposable { T[] GetAll<T>(); T[] GetAll<T>(Expression<Func<T, bool>> filter); T GetSingle<T>(Expression<Func<T, bool>> filter); T GetSingle<T>(Expression<Func<T, bool>> filter, List<Expression<Func<T, object>>> subSelectors); void Delete<T>(T entity); void Add<T>(T entity); int SaveChanges(); DbTransaction BeginTransaction(); } …

16
คุณถูกบังคับให้ใช้ UUID เป็นส่วนหนึ่งของการออกแบบเมื่อใด
ฉันไม่เห็นจุดของUUIDจริงๆ ฉันรู้ว่าความน่าจะเป็นของการชนนั้นเป็นศูนย์อย่างมีประสิทธิภาพแต่ศูนย์ที่มีประสิทธิภาพนั้นไม่ได้ใกล้เคียงกับที่เป็นไปไม่ได้เลย ใครช่วยยกตัวอย่างที่คุณไม่มีทางเลือกอื่นนอกจากใช้ UUID ได้ไหม จากการใช้งานทั้งหมดที่ฉันเห็นฉันสามารถเห็นการออกแบบทางเลือกที่ไม่มี UUID แน่นอนว่าการออกแบบอาจซับซ้อนกว่าเล็กน้อย แต่อย่างน้อยก็ไม่มีโอกาสที่จะล้มเหลวที่ไม่ใช่ศูนย์ UUID มีกลิ่นเหมือนตัวแปรทั่วโลกสำหรับฉัน มีหลายวิธีที่ตัวแปรทั่วโลกสร้างขึ้นสำหรับการออกแบบที่เรียบง่ายขึ้น แต่การออกแบบที่ขี้เกียจ
123 architecture  uuid 

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