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

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

10
ฉันเพิ่งค้นพบว่าทำไมเว็บไซต์ ASP.Net ทั้งหมดจึงช้าและฉันพยายามหาว่าจะทำอย่างไรกับมัน
ฉันเพิ่งค้นพบว่าทุกคำขอในเว็บแอปพลิเคชัน ASP.Net จะได้รับการล็อคเซสชันที่จุดเริ่มต้นของคำขอจากนั้นปล่อยเมื่อสิ้นสุดคำขอ! ในกรณีที่ความหมายของสิ่งนี้หายไปกับคุณเช่นเดียวกับฉันในตอนแรกสิ่งนี้ก็หมายถึงสิ่งต่อไปนี้: เมื่อใดก็ตามที่หน้าเว็บ ASP.Net ใช้เวลาโหลดนาน (อาจเป็นเพราะการโทรฐานข้อมูลที่ช้าหรืออะไรก็ตาม) และผู้ใช้ตัดสินใจว่าพวกเขาต้องการนำทางไปยังหน้าอื่นเพราะพวกเขาเบื่อที่จะรอพวกเขาไม่สามารถ! การล็อกเซสชัน ASP.Net บังคับให้มีการร้องขอหน้าใหม่เพื่อรอจนกว่าคำขอเดิมจะเสร็จสิ้นการโหลดช้าลงอย่างเจ็บปวด Arrrgh เมื่อใดก็ตามที่ UpdatePanel โหลดช้าและผู้ใช้ตัดสินใจที่จะนำทางไปยังหน้าอื่นก่อนที่ UpdatePanel จะอัปเดตเสร็จสิ้น ... พวกเขาไม่สามารถ! การล็อคเซสชันของ ASP.net บังคับให้คำขอหน้าใหม่รอจนกว่าคำขอเดิมจะเสร็จสิ้นการโหลดช้าลงอย่างเจ็บปวด Double Arrrgh! ดังนั้นตัวเลือกคืออะไร จนถึงตอนนี้ฉันก็เกิดขึ้นกับ: ใช้ Custom SessionStateDataStore ซึ่ง ASP.Net รองรับ ฉันไม่ได้พบมากที่นั่นเพื่อคัดลอกและดูเหมือนว่ามีความเสี่ยงสูงและง่ายต่อการเลอะ ติดตามคำขอทั้งหมดที่อยู่ระหว่างดำเนินการและหากมีคำขอมาจากผู้ใช้รายเดียวกันให้ยกเลิกคำขอเดิม ดูเหมือนจะสุดขีด แต่มันก็ใช้งานได้ อย่าใช้เซสชัน! เมื่อฉันต้องการสถานะบางอย่างสำหรับผู้ใช้ฉันก็สามารถใช้ Cache แทนและรายการสำคัญในชื่อผู้ใช้รับรองความถูกต้องหรือบางสิ่ง ดูเหมือนจะสุดโต่งอีกครั้ง ฉันไม่อยากจะเชื่อเลยว่าทีม ASP.Net Microsoft จะทิ้งคอขวดที่มีประสิทธิภาพอย่างมากในเฟรมเวิร์กในเวอร์ชัน 4.0! ฉันขาดอะไรที่ชัดเจนหรือไม่ การใช้คอลเลกชัน ThreadSafe …

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

23
คุณออกแบบโครงการเชิงวัตถุได้อย่างไร [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังทำงานในโครงการขนาดใหญ่ (สำหรับฉัน) ซึ่งจะมีหลายชั้นเรียนและจะต้องขยายออกไป แต่ฉันไม่แน่ใจว่าจะวางแผนโปรแกรมของฉันอย่างไรและวิธีที่ชั้นเรียนต้องมีปฏิสัมพันธ์ ฉันเรียนหลักสูตร OOD สองสามภาคเรียนและเรียนรู้มากมายจากหลักสูตรนั้น เช่นการเขียน UML และแปลเอกสารข้อกำหนดเป็นวัตถุและคลาส เราเรียนรู้แผนภาพลำดับด้วยเช่นกัน แต่อย่างใดฉันพลาดการบรรยายหรือบางอย่างพวกเขาไม่ยึดติดกับฉัน กับโครงการก่อนหน้านี้ฉันได้ลองใช้วิธีการที่ฉันเรียนรู้จากหลักสูตร แต่มักจะจบลงด้วยรหัสที่ทันทีที่ฉันสามารถพูดว่า "ใช่ที่ดูเหมือนสิ่งที่ฉันมีในใจ" ฉันไม่มีความปรารถนาที่จะขุดผ่านโคลนเพื่อเพิ่ม คุณสมบัติใหม่ ฉันได้รับสำเนาสมบูรณ์ของรหัสสตีฟ McConnell ซึ่งฉันได้ยินอย่างต่อเนื่องเป็นที่น่าอัศจรรย์ที่นี่และที่อื่น ๆ ฉันอ่านบทเกี่ยวกับการออกแบบและดูเหมือนจะไม่เปิดเผยข้อมูลที่ฉันต้องการ ฉันรู้ว่าเขาบอกว่ามันไม่ได้เป็นกระบวนการที่แห้งและแห้งซึ่งส่วนใหญ่มาจากการวิเคราะห์พฤติกรรม แต่ฉันไม่สามารถรับข้อมูลทั้งหมดของเขาและนำไปใช้กับโครงการของฉันได้ ดังนั้นสิ่งที่เป็นสิ่งที่คุณทำในช่วงการออกแบบระดับสูง (ก่อนที่คุณจะเริ่มต้นการเขียนโปรแกรม) เพื่อตรวจสอบสิ่งที่เป็นชั้นเรียนที่คุณจำเป็นต้อง (โดยเฉพาะคนที่ไม่ได้ขึ้นอยู่ที่ใด 'วัตถุโลกแห่งความจริง') และวิธีการที่พวกเขาจะโต้ตอบกับแต่ละอื่น ๆ ? โดยเฉพาะฉันสนใจวิธีการที่คุณใช้? อะไรคือกระบวนการที่คุณทำตามซึ่งโดยปกติแล้วการออกแบบที่ดีและสะอาดซึ่งจะนำเสนอผลิตภัณฑ์ขั้นสุดท้ายอย่างใกล้ชิด?



2
Singleton by Jon Skeet ชี้แจง
public sealed class Singleton { Singleton() {} public static Singleton Instance { get { return Nested.instance; } } class Nested { // Explicit static constructor to tell C# compiler // not to mark type as beforefieldinit static Nested() {} internal static readonly Singleton instance = new Singleton(); } } ฉันต้องการนำรูปแบบซิงเกิลของ …

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

6
ทุกอย่างควรเป็นชุดใน Symfony 2.x จริงหรือ
ฉันตระหนักถึงคำถามเช่นนี้ซึ่งผู้คนมักจะพูดคุยเกี่ยวกับแนวคิดทั่วไปของกลุ่มผลิตภัณฑ์ Symfony 2 สิ่งที่อยู่ในแอพพลิเคชั่นที่เฉพาะเจาะจงเช่นแอพพลิเคชั่นที่เหมือนทวิตเตอร์ทุกอย่างควรจะอยู่ในกลุ่มสามัญอย่างที่เอกสารทางการบอกหรือไม่ เหตุผลที่ฉันถามสิ่งนี้เพราะเมื่อเราพัฒนาแอปพลิเคชั่นโดยทั่วไปเราไม่ต้องการจับคู่โค้ดของเรากับกรอบกาวเต็มสแต็ค ถ้าฉันพัฒนาแอพพลิเคชั่นที่ใช้ Symfony 2 และในบางจุดฉันคิดว่า Symfony 2 ไม่ใช่ตัวเลือกที่ดีที่สุดในการพัฒนาต่อไปนั่นจะเป็นปัญหาสำหรับฉันหรือไม่ ดังนั้นคำถามทั่วไปคือทำไมทุกอย่างเป็นกลุ่มเป็นสิ่งที่ดี? แก้ไข # 1 เกือบหนึ่งปีแล้วตั้งแต่ฉันถามคำถามนี้ฉันเขียนบทความเพื่อแบ่งปันความรู้ของฉันในหัวข้อนี้

11
แอปพลิเคชั่นหน้าเดียว: ข้อดีและข้อเสีย [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน3 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันเคยอ่านเกี่ยวกับสปาและข้อดีแล้ว ฉันพบว่าพวกเขาส่วนใหญ่ไม่มั่นใจ มี 3 ข้อได้เปรียบที่กระตุ้นความสงสัยของฉัน คำถาม: คุณสามารถทำหน้าที่เป็นผู้สนับสนุนของ SPA และพิสูจน์ได้ว่าฉันผิดเกี่ยวกับสามข้อความแรก? === ADVANTAGES === 1. SPA นั้นดีมากสำหรับเว็บไซต์ที่ตอบสนองได้ดีมาก: การเรนเดอร์ฝั่งเซิร์ฟเวอร์นั้นยากที่จะนำไปใช้กับสถานะกลางทั้งหมด - สถานะมุมมองขนาดเล็กไม่ได้จับคู่กับ URL ได้ดี แอปหน้าเดียวมีความโดดเด่นด้วยความสามารถในการวาดส่วนหนึ่งส่วนใดของ UI โดยไม่ต้องใช้เซิร์ฟเวอร์ไปกลับเพื่อดึง HTML สิ่งนี้ทำได้โดยการแยกข้อมูลจากการนำเสนอข้อมูลโดยมีเลเยอร์โมเดลที่จัดการข้อมูลและเลเยอร์มุมมองที่อ่านจากโมเดล เกิดอะไรขึ้นกับการถือเลเยอร์โมเดลสำหรับผู้ที่ไม่ใช่สปา SPA เป็นสถาปัตยกรรมที่เข้ากันได้กับ MVC เพียงด้านเดียวหรือไม่ 2. ด้วย SPA เราไม่จำเป็นต้องใช้ข้อความค้นหาพิเศษไปยังเซิร์ฟเวอร์เพื่อดาวน์โหลดหน้าต่างๆ ฮะและผู้ใช้สามารถดาวน์โหลดได้กี่หน้าในระหว่างการเยี่ยมชมเว็บไซต์ของคุณ สองสาม? มีปัญหาด้านความปลอดภัยอื่นปรากฏขึ้นและคุณต้องแยกหน้าเข้าสู่ระบบหน้าผู้ดูแลระบบ ฯลฯ ออกเป็นหน้าอื่น ๆ ในทางกลับกันมันขัดแย้งกับสถาปัตยกรรม SPA …

9
ซอฟต์แวร์ที่มีความเห็นคืออะไร?
ล็อคแล้ว คำถามและคำตอบของคำถามนี้ถูกล็อคเนื่องจากคำถามอยู่นอกหัวข้อ แต่มีความสำคัญทางประวัติศาสตร์ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ ฉันมักจะเห็นคนพูดว่าซอฟต์แวร์บางอย่าง "มีความเห็นมาก" หรือว่า Microsoft มีแนวโน้มที่จะเขียนกรอบงานที่ "ไม่แสดงความคิดเห็น" สิ่งนี้หมายความว่าอย่างไร

10
การทำธุรกรรมทั่ว REST microservices?
สมมติว่าเรามี Microservices ผู้ใช้ Wallet REST และเกตเวย์ API ที่จับคู่สิ่งต่าง ๆ เข้าด้วยกัน เมื่อ Bob ลงทะเบียนในเว็บไซต์ของเราเกตเวย์ API ของเราจำเป็นต้องสร้างผู้ใช้ผ่าน microservice ของผู้ใช้และกระเป๋าเงินผ่าน microservice ของ Wallet ต่อไปนี้คือสถานการณ์บางอย่างที่อาจเกิดความผิดพลาด: การสร้างผู้ใช้ Bob ล้มเหลว: ไม่เป็นไรเราเพิ่งส่งคืนข้อความแสดงข้อผิดพลาดไปยัง Bob เรากำลังใช้ธุรกรรม SQL ดังนั้นจึงไม่มีใครเห็น Bob ในระบบ ทุกอย่างดี :) Bob ของผู้ใช้ถูกสร้างขึ้น แต่ก่อนที่จะสร้าง Wallet ของเราได้ API ของฮาร์ดไดรฟ์จะขัดข้อง ตอนนี้เรามีผู้ใช้ที่ไม่มีกระเป๋าเงิน (ข้อมูลไม่สอดคล้องกัน) Bob ผู้ใช้ถูกสร้างขึ้นและในขณะที่เรากำลังสร้าง Wallet การเชื่อมต่อ HTTP จะลดลง การสร้างกระเป๋าเงินอาจสำเร็จหรือไม่ได้ มีวิธีแก้ไขปัญหาใดบ้างที่ป้องกันไม่ให้เกิดความไม่สอดคล้องกันของข้อมูล …

27
การออกแบบเครื่องจักร C [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้นี้ ปิดให้บริการใน4 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ ฉันกำลังสร้างโครงการขนาดเล็กในแบบผสม C และ C ++ ฉันกำลังสร้างเครื่องจักรเล็ก ๆ แห่งหนึ่งที่เป็นหัวใจของด้ายคนงานของฉัน ฉันสงสัยว่าคุณ gurus บน SO จะแบ่งปันเทคนิคการออกแบบเครื่องจักรของรัฐหรือไม่ หมายเหตุ:ฉันเป็นหลักหลังจากพยายามและทดสอบเทคนิคการใช้งาน อัปเดต:อิงจากอินพุตที่ยอดเยี่ยมทั้งหมดที่รวบรวมบน SO ฉันได้ตัดสินสถาปัตยกรรมนี้:

12
สถาปัตยกรรม N-Tier คืออะไร?
ฉันเห็นการโพสต์งานนักพัฒนาค่อนข้างน้อยเมื่อเร็ว ๆ นี้ที่มีประโยคที่อ่านมากหรือน้อยเช่นนี้: "ต้องมีประสบการณ์กับสถาปัตยกรรม N-Tier" หรือ "ต้องสามารถพัฒนาแอป N-Tier" สิ่งนี้ทำให้ฉันถามสถาปัตยกรรม N-Tier คืออะไร? เราจะได้รับประสบการณ์กับมันได้อย่างไร?

18
สร้างสถาปัตยกรรมปลั๊กอินขั้นต่ำใน Python
ฉันมีแอปพลิเคชันเขียนด้วย Python ซึ่งใช้โดยผู้ชมทางเทคนิคที่ค่อนข้างเป็นธรรม (นักวิทยาศาสตร์) ฉันกำลังมองหาวิธีที่ดีในการทำให้แอปพลิเคชันสามารถขยายได้โดยผู้ใช้เช่นสถาปัตยกรรมสคริปต์ / ปลั๊กอิน ฉันกำลังมองหาบางสิ่งบางอย่างที่เบามาก สคริปต์หรือปลั๊กอินส่วนใหญ่จะไม่ได้รับการพัฒนาและแจกจ่ายโดยบุคคลที่สามและติดตั้ง แต่จะเป็นสิ่งที่ผู้ใช้ทำขึ้นภายในไม่กี่นาทีเพื่อให้งานที่ทำซ้ำเพิ่มการรองรับรูปแบบไฟล์โดยอัตโนมัติ เป็นต้นดังนั้นปลั๊กอินควรมีรหัสสำเร็จรูปขั้นต่ำที่แน่นอนและไม่จำเป็นต้องมี 'การติดตั้ง' นอกเหนือจากการคัดลอกไปยังโฟลเดอร์ (ดังนั้นบางอย่างเช่นจุดเข้า setuptools หรือสถาปัตยกรรมปลั๊กอิน Zope ดูเหมือนมากเกินไป) มีระบบแบบนี้ออกมาแล้วหรือมีโครงการที่ใช้รูปแบบที่คล้ายกันซึ่งฉันควรมองหาความคิด / แรงบันดาลใจ?

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

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