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

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

8
เหตุใดเราจึงต้องใช้บริการเว็บ RESTful
ฉันจะเรียนรู้บริการเว็บ RESTful (ดีกว่าที่จะบอกว่าฉันต้องทำสิ่งนี้เพราะเป็นส่วนหนึ่งของหลักสูตรปริญญาโท CS) ฉันได้อ่านข้อมูลบางอย่างใน Wikipedia และฉันได้อ่านบทความเกี่ยวกับ REST ที่ Sun Developer Network และฉันเห็นว่ามันไม่ใช่เรื่องง่ายเทคโนโลยีมีกรอบพิเศษสำหรับการสร้างแอป RESTful และมักถูกเปรียบเทียบกับบริการเว็บ SOAP และ โปรแกรมเมอร์ควรเข้าใจว่าเมื่อใดควรใช้ SOAP และเมื่อใดที่ REST อาจเป็นแนวทางที่ดี ฉันจำได้ว่าเมื่อหลายปีก่อน SOAP เป็นที่นิยมมาก (ทันสมัย?) และรายการ 'SOAP' จะต้องมีอยู่ในประวัติย่อที่ดีทุกรายการ แต่ในทางปฏิบัติมีการใช้น้อยมากและเพื่อให้บรรลุวัตถุประสงค์ที่เรียบง่าย สำหรับฉันแล้วดูเหมือนว่า REST เป็น 'คำสุดท้ายของแฟชั่น' อีกคำหนึ่ง (หรือฉันคิดผิดทั้งหมดเพราะฉันไม่เคยเห็น REST ในทางปฏิบัติ) คุณช่วยยกตัวอย่างให้ฉันได้ไหมว่าควรใช้ REST และทำไมเราไม่สามารถทำแบบเดียวกันได้หากไม่มี REST (หรือทำไมเราควรใช้เวลามากขึ้นในการทำสิ่งเดียวกันโดยไม่มี REST) UPD : โชคไม่ดีที่ฉันไม่เห็นข้อโต้แย้งที่เป็นรูปธรรมใด ๆ ที่สามารถทำให้ฉันนึกถึงในความคิดเห็นแรก ทำให้ฉันคิดว่า …

6
แอป React / Redux และหลายภาษา (Internationalization) - สถาปัตยกรรม
ฉันกำลังสร้างแอปที่จะต้องพร้อมใช้งานในหลายภาษาและสถานที่ คำถามของฉันไม่ใช่เรื่องทางเทคนิค แต่เป็นเรื่องของสถาปัตยกรรมและรูปแบบที่ผู้คนใช้ในการผลิตเพื่อแก้ปัญหานี้ ฉันไม่พบ "ตำราอาหาร" ที่ไหนเลยฉันจึงหันไปหาเว็บไซต์ถาม / ตอบที่ฉันชอบ :) นี่คือข้อกำหนดของฉัน (เป็น "มาตรฐาน" จริงๆ): ผู้ใช้สามารถเลือกภาษา (เล็กน้อย) เมื่อเปลี่ยนภาษาอินเทอร์เฟซควรแปลโดยอัตโนมัติเป็นภาษาที่เลือกใหม่ ฉันไม่กังวลเกี่ยวกับการจัดรูปแบบตัวเลขวันที่และอื่น ๆ มากเกินไปในขณะนี้ฉันต้องการวิธีง่ายๆในการแปลสตริง นี่คือวิธีแก้ปัญหาที่เป็นไปได้ที่ฉันคิดออก: แต่ละองค์ประกอบจัดการกับการแปลแยกกัน ซึ่งหมายความว่าแต่ละองค์ประกอบมีตัวอย่างเช่นชุดของไฟล์ en.json, fr.json เป็นต้นควบคู่ไปกับสตริงที่แปลแล้ว และฟังก์ชันตัวช่วยเพื่อช่วยในการอ่านค่าจากค่าที่ขึ้นอยู่กับภาษาที่เลือก Pro: เคารพในปรัชญาการตอบสนองมากขึ้นแต่ละองค์ประกอบเป็นแบบ "สแตนด์อโลน" จุดด้อย: คุณไม่สามารถรวมการแปลทั้งหมดไว้ในไฟล์ได้ (เช่นให้คนอื่นเพิ่มภาษาใหม่) จุดด้อย: คุณยังคงต้องส่งภาษาปัจจุบันเป็นเสาหลักในทุกองค์ประกอบที่เปื้อนเลือดและลูก ๆ ของพวกเขา แต่ละองค์ประกอบจะรับการแปลผ่านอุปกรณ์ประกอบฉาก ดังนั้นพวกเขาจึงไม่ทราบภาษาปัจจุบันพวกเขาเพียงแค่ใช้รายการสตริงเป็นอุปกรณ์ประกอบฉากที่ตรงกับภาษาปัจจุบัน Pro: เนื่องจากสตริงเหล่านั้นมาจาก "ด้านบน" จึงสามารถรวมศูนย์ไว้ที่ใดที่หนึ่งได้ จุดด้อย: ตอนนี้แต่ละองค์ประกอบเชื่อมโยงเข้ากับระบบการแปลคุณไม่สามารถใช้ซ้ำได้คุณต้องระบุสตริงที่ถูกต้องทุกครั้ง คุณหลีกเลี่ยงอุปกรณ์ประกอบฉากเล็กน้อยและอาจใช้บริบทเพื่อส่งผ่านภาษาปัจจุบัน Pro: ส่วนใหญ่โปร่งใสไม่ต้องส่งภาษาปัจจุบันและ / หรือคำแปลผ่านอุปกรณ์ประกอบฉากตลอดเวลา จุดด้อย: …

5
รูปแบบการออกแบบและรูปแบบสถาปัตยกรรมแตกต่างกันอย่างไร?
เมื่อเราอ่านเกี่ยวกับรูปแบบการออกแบบบนอินเทอร์เน็ตเราทราบว่ามี 3 ประเภท: Creational โครงสร้าง เกี่ยวกับพฤติกรรม แต่เมื่อเราสร้างสถาปัตยกรรมของซอฟต์แวร์แล้วเราจะคิดถึง MVP, MVC หรือ MVVM ตัวอย่างเช่นในรูปแบบการสร้างสรรค์ฉันพบรูปแบบซิงเกิลตันแต่ฉันยังใช้ซิงเกิลตันใน MPV ด้วย คำถามของฉันคือรูปแบบการออกแบบเป็นโครงสร้างทั้งหมดของผลิตภัณฑ์หรือไม่? ถ้าใช่แล้วซิงเกิลตันจะเป็นรูปแบบการออกแบบได้อย่างไร? เพราะฉันสามารถใช้มันได้ทุกที่ในแอปพลิเคชันของฉัน โดยทั่วไปจะ จำกัด การสร้างครั้งละหนึ่งอินสแตนซ์ในหน่วยความจำเท่านั้น แต่แนวคิดนี้ไม่ได้กำหนดวิธีการออกแบบซอฟต์แวร์หรือไม่? ถ้าไม่เช่นนั้น MVP, MVC และ MVVM อยู่ที่ไหนในสามประเภทของรูปแบบ? และอะไรคือความแตกต่างระหว่างการออกแบบและสถาปัตยกรรมของซอฟต์แวร์?


1
Elixir / Erlang เข้ากับวิธีการของไมโครเซอร์วิสได้ที่ไหน? [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ เมื่อเร็ว ๆ นี้ฉันได้ทำการทดลองกับนักเทียบท่าเพื่อปรับใช้ไมโครเซอร์วิสที่ทำงานร่วมกันได้หลายตัว ฉันเห็นประโยชน์มากมายที่ไมโครเซอร์วิสมอบให้และตอนนี้มีชุดเครื่องมือที่ดีสำหรับการจัดการแล้วฉันคิดว่ามันไม่ยากเลยที่จะกระโดดเข้าไปในรถบรรทุกขนาดเล็ก แต่ฉันได้ทดลองกับ Elixir ด้วยและฉันก็ค่อนข้างชอบประโยชน์ที่ได้รับจากตัวมันเอง เนื่องจากมันสนับสนุนให้บรรจุรหัสของคุณลงในแอปพลิเคชันที่แยกตัวออกมาหลายตัวและรองรับการอัปเกรดรหัสร้อนคุณจะผสมนักเทียบท่ากับยาอมฤต (หรือ erlang สำหรับเรื่องนั้นอย่างไร) ตัวอย่างเช่นถ้าฉันต้องการใช้นักเทียบท่าเพราะมันมีความเท่าเทียมกันของ dev-prod ยาอมจะเข้ากันได้อย่างไร? เนื่องจากคอนเทนเนอร์นักเทียบท่าไม่เปลี่ยนรูปฉันจึงสูญเสียความสามารถในการอัปเกรดรหัสด่วนใช่ไหม? สิ่งที่เกี่ยวกับการปรับใช้สีน้ำเงิน / เขียวหรือการเผยแพร่ Canary? ฉันหมายความว่าฉันสามารถเขียน microservices ด้วย Elixir และใช้งานได้ราวกับว่ามันถูกเขียนในภาษาอื่น ๆ การพูดหลายภาษาก็เป็นประโยชน์อย่างหนึ่งของ microservices อยู่ดี แต่ฉันก็ไม่ได้รับประโยชน์เต็มที่จากการใช้แพลตฟอร์ม OTP เดาว่าแอปพลิเคชัน Erlang ที่ทำงานร่วมกันอย่างแท้จริงเป็นวิธีที่ดีที่สุดในการใช้คิวกลางเพื่อสื่อสารระหว่างไมโครเซอร์วิสที่เขียนด้วยภาษา (หรือไม่) ที่แตกต่างกัน

19
C นิยามมาโครเพื่อกำหนด endian ใหญ่หรือเครื่อง endian น้อย?
มีคำจำกัดความมาโครหนึ่งบรรทัดเพื่อกำหนดความสิ้นสุดของเครื่องหรือไม่ ฉันใช้รหัสต่อไปนี้ แต่การแปลงเป็นมาโครจะยาวเกินไป unsigned char test_endian( void ) { int test_var = 1; unsigned char *test_endian = (unsigned char*)&test_var; return (test_endian[0] == 0); }

14
สถาปัตยกรรมของเว็บแอปพลิเคชัน JavaScript หน้าเดียว?
เว็บแอปพลิเคชัน JS แบบหน้าเดียวที่ซับซ้อนควรมีโครงสร้างอย่างไรในฝั่งไคลเอ็นต์ โดยเฉพาะอย่างยิ่งฉันอยากรู้เกี่ยวกับวิธีการจัดโครงสร้างแอปพลิเคชันอย่างหมดจดในแง่ของโมเดลอ็อบเจ็กต์ส่วนประกอบ UI คอนโทรลเลอร์และอ็อบเจ็กต์ที่จัดการกับความคงอยู่ของเซิร์ฟเวอร์ MVC ดูเหมือนจะพอดีในตอนแรก แต่ด้วยองค์ประกอบ UI ที่ซ้อนกันในระดับความลึกต่างๆ (แต่ละส่วนมีวิธีดำเนินการ / ตอบสนองต่อข้อมูลแบบจำลองของตนเองและแต่ละเหตุการณ์ที่สร้างขึ้นซึ่งพวกเขาเองอาจจัดการหรือไม่สามารถจัดการได้โดยตรง) ดูเหมือนว่า MVC จะไม่สามารถใช้งานได้อย่างหมดจด (แต่โปรดแก้ไขฉันหากไม่เป็นเช่นนั้น) - ( คำถามนี้ส่งผลให้มีคำแนะนำสองข้อในการใช้ ajax ซึ่งจำเป็นอย่างยิ่งสำหรับสิ่งอื่นนอกเหนือจากแอปหน้าเดียวที่ไม่สำคัญที่สุด)

3
Spring BeanPostProcessor ทำงานอย่างไร
ฉันกำลังศึกษาสำหรับการรับรองฤดูใบไม้ผลิแกนผมมีข้อสงสัยบางอย่างเกี่ยวกับฤดูใบไม้ผลิจัดการถั่ววงจรชีวิตและโดยเฉพาะอย่างยิ่งเกี่ยวกับในการประมวลผลถั่วโพสต์ ดังนั้นฉันจึงมีสคีมานี้: ค่อนข้างชัดเจนสำหรับฉันว่ามันหมายถึงอะไร: ขั้นตอนต่อไปนี้เกิดขึ้นในเฟสLoad Bean Definitions : @Configurationเรียนมีการประมวลผลและ / หรือ@Componentsจะสแกนหาและ / หรือไฟล์ XML ที่มีการแยกวิเคราะห์ เพิ่มคำจำกัดความของ Bean ใน BeanFactory (แต่ละรายการจัดทำดัชนีภายใต้ id) ถั่วBeanFactoryPostProcessorพิเศษที่เรียกใช้มันสามารถแก้ไขนิยามของ bean ใด ๆ (ตัวอย่างเช่นการแทนที่ค่าคุณสมบัติตัวยึด) จากนั้นขั้นตอนต่อไปนี้จะเกิดขึ้นในขั้นตอนการสร้างถั่ว : ถั่วแต่ละอันจะถูกสร้างอินสแตนซ์อย่างกระตือรือร้นตามค่าเริ่มต้น (สร้างขึ้นตามลำดับที่ถูกต้องพร้อมกับการเติมการอ้างอิง) หลังจากการฉีดพึ่งพาถั่วแต่ละชนิดจะต้องผ่านขั้นตอนหลังการประมวลผลซึ่งอาจเกิดการกำหนดค่าและการเริ่มต้นเพิ่มเติม หลังจากการประมวลผลภายหลัง bean จะเริ่มต้นอย่างสมบูรณ์และพร้อมสำหรับการใช้งาน (ติดตามโดย id จนกว่าบริบทจะถูกทำลาย) โอเคนี่ค่อนข้างชัดเจนสำหรับฉันและฉันก็รู้ด้วยว่ามีโปรเซสเซอร์ bean post สองประเภทได้แก่ : Initializers:เริ่มต้น bean หากได้รับคำแนะนำ (เช่น @PostConstruct) และส่วนที่เหลือทั้งหมด:ที่อนุญาตให้มีการกำหนดค่าเพิ่มเติมและอาจทำงานก่อนหรือหลังขั้นตอนเริ่มต้น และฉันโพสต์สไลด์นี้: ดังนั้นมันจึงชัดเจนมากสำหรับฉันว่าinitializers bean …

10
ทำไมสแต็กจึงเติบโตลง
ฉันรู้ว่าในสถาปัตยกรรมที่ฉันคุ้นเคยเป็นการส่วนตัว (x86, 6502 ฯลฯ ) โดยทั่วไปสแต็กจะเติบโตลง (กล่าวคือทุกรายการที่ถูกผลักลงในสแต็กจะส่งผลให้ SP ลดลงไม่ใช่เพิ่มขึ้น) ฉันสงสัยเกี่ยวกับเหตุผลทางประวัติศาสตร์สำหรับเรื่องนี้ ฉันรู้ว่าในพื้นที่ที่อยู่แบบรวมนั้นสะดวกในการเริ่มต้นสแต็กที่ปลายด้านตรงข้ามของส่วนข้อมูล (พูด) ดังนั้นจะมีปัญหาหากทั้งสองฝ่ายชนกันตรงกลาง แต่ทำไมสแต็กจึงได้ส่วนบนสุด? โดยเฉพาะอย่างยิ่งวิธีนี้เป็นสิ่งที่ตรงกันข้ามกับรูปแบบ "แนวคิด"? (และโปรดทราบว่าในสถาปัตยกรรม 6502 สแต็กจะเติบโตลงเช่นกันแม้ว่าจะถูก จำกัด ไว้ที่หน้า 256 ไบต์เดียวและการเลือกทิศทางนี้ดูเหมือนจะเป็นไปโดยพลการ)

9
ไม่ใช้รูปแบบพื้นที่เก็บข้อมูลให้ใช้ ORM ตามที่เป็น (EF)
ฉันใช้รูปแบบพื้นที่เก็บข้อมูลเสมอ แต่สำหรับโปรเจ็กต์ล่าสุดของฉันฉันต้องการดูว่าฉันสามารถใช้มันได้อย่างสมบูรณ์แบบหรือไม่และการนำ "หน่วยงาน" ไปใช้หรือไม่ ยิ่งฉันเริ่มขุดมากขึ้นฉันก็เริ่มถามตัวเองว่า"ฉันต้องการมันจริงๆหรือ" ตอนนี้ทั้งหมดนี้เริ่มต้นด้วยความคิดเห็นสองสามรายการใน Stackoverflow พร้อมติดตามโพสต์ของ Ayende Rahien ในบล็อกของเขาโดยมี 2 ข้อความที่เจาะจง ที่เก็บคือสิ่งใหม่ - ซิงเกิลตัน ask-ayende-life-without-repositories-are-they-worth-living สิ่งนี้อาจถูกพูดถึงตลอดไปและตลอดไปและขึ้นอยู่กับการใช้งานที่แตกต่างกัน ฉันอยากรู้อะไร แนวทางนี้จะเหมาะกับโครงการ Entity Framework หรือไม่ การใช้วิธีนี้เป็นตรรกะทางธุรกิจที่ยังคงอยู่ในชั้นบริการหรือวิธีการขยาย (ตามที่อธิบายไว้ด้านล่างฉันรู้วิธีการขยายกำลังใช้เซสชัน NHib) ทำได้อย่างง่ายดายโดยใช้วิธีการขยาย สะอาดเรียบง่ายและใช้ซ้ำได้ public static IEnumerable GetAll( this ISession instance, Expression<Func<T, bool>> where) where T : class { return instance.QueryOver().Where(where).List(); } การใช้แนวทางนี้และNinjectในฐานะ DI ฉันจำเป็นต้องสร้างContextอินเทอร์เฟซและฉีดเข้าไปในคอนโทรลเลอร์ของฉันหรือไม่

11
อะไรคือความแตกต่างระหว่าง“ Solutions Architect” และ“ Applications Architect”? [ปิด]
ตามที่กล่าวมาในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบถาม & ตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจก่อให้เกิดการถกเถียงโต้แย้งการสำรวจความคิดเห็นหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงได้และอาจเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อรับคำแนะนำ ปิดให้บริการใน9 ปีที่ผ่านมา เท่าที่ผมสามารถดูสถาปนิกโซลูชั่นเป็นเพียงที่แตกต่างกัน "การตลาด" ระยะสำหรับการประยุกต์ใช้งานสถาปนิก ถูกต้องหรือบทบาทแตกต่างกันจริงหรือไม่? ถ้าเป็นเช่นนั้นอย่างไร? ใช่ฉันได้ค้นหาสิ่งนี้ทั้งบน StackOverflow และบน Google

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

12
การส่งแอป iOS: ขาดการสนับสนุน 64 บิต
ฉันส่งแอปเมื่อวานนี้เพื่อตรวจสอบโดยไม่มีปัญหา จากนั้นฉันก็รู้ว่าฉันมีการแก้ไขเพียงเล็กน้อยที่ต้องทำ (เปลี่ยนระดับการซูมสูงสุดของแผนที่จาก 19 เป็น 18 ไม่มีอะไรอื่น) ดังนั้นฉันจึงลบไบนารีออกจาก iTunes Connect และพยายามส่งใหม่ ตอนนี้ฉันมีคำเตือนนี้: ฉันไม่เข้าใจว่าทำไมสถาปัตยกรรมของฉันคือ: สถาปัตยกรรม: armv7 สถาปัตยกรรมที่ถูกต้อง: armv6, armv7, armv7s, arm64 แอปทำงานได้ดีในโปรแกรมจำลอง หากฉันพยายามใช้สถาปัตยกรรมมาตรฐาน (armv7, arm64) ตามที่แนะนำในคำเตือนแอปจะไม่สร้างและฉันได้รับ: สัญลักษณ์ที่ไม่ได้กำหนดสำหรับสถาปัตยกรรม x86_64 ld: ไม่พบสัญลักษณ์สำหรับสถาปัตยกรรม x86_64 ฉันใช้ lib route-me และตั้งค่าสถาปัตยกรรมเดียวกัน

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

15
คุณวางแผนสถาปัตยกรรมของแอปพลิเคชันอย่างไรก่อนที่จะเขียนโค้ดใด ๆ [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน6 ปีที่ผ่านมา ปรับปรุงคำถามนี้ สิ่งหนึ่งที่ฉันประสบคือการวางแผนสถาปัตยกรรมของแอปพลิเคชันก่อนที่จะเขียนโค้ดใด ๆ ฉันไม่ได้หมายถึงการรวบรวมข้อกำหนดเพื่อ จำกัด สิ่งที่แอปพลิเคชันต้องทำ แต่เป็นการคิดอย่างมีประสิทธิภาพเกี่ยวกับวิธีที่ดีในการจัดวางคลาสข้อมูลและโครงสร้างการไหลโดยรวมและทำซ้ำความคิดเหล่านั้นเพื่อให้ฉันมีแผนที่น่าเชื่อถือ การดำเนินการก่อนที่จะเปิด IDE ในขณะนี้มันเป็นเรื่องง่ายเพียงแค่เปิด IDE สร้างโปรเจ็กต์เปล่าเริ่มเขียนบิตและบ็อบและปล่อยให้การออกแบบ 'ขยายออก' จากที่นั่น ฉันรวบรวม UML เป็นวิธีหนึ่งในการทำสิ่งนี้ แต่ฉันไม่มีประสบการณ์กับมันเลยดูเหมือนจะคลุมเครือ วิธีทำคุณวางแผนสถาปัตยกรรมของโปรแกรมก่อนที่จะเขียนรหัสใด? หาก UML เป็นหนทางที่จะไปคุณสามารถแนะนำคำแนะนำที่กระชับและเป็นประโยชน์สำหรับนักพัฒนาแอปพลิเคชันขนาดเล็ก ฉันขอขอบคุณข้อมูลของคุณ

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