Kỹ thuật phần mềm

Q & A cho các chuyên gia, học giả và sinh viên làm việc trong vòng đời phát triển hệ thống

5
Chúng ta có thể thay thế hoàn toàn kế thừa bằng cách sử dụng mô hình chiến lược và tiêm phụ thuộc không?
Ví dụ: var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) Vì lớp Duck chứa tất cả các hành vi (trừu tượng), việc tạo một lớp mới MallardDuck(mở rộng Duck) dường như không bắt buộc. Tham khảo: Mẫu thiết kế …



2
Làm thế nào an toàn luồng có thể được cung cấp bởi một ngôn ngữ lập trình tương tự như cách an toàn bộ nhớ được cung cấp bởi Java và C #?
Java và C # cung cấp sự an toàn cho bộ nhớ bằng cách kiểm tra giới hạn mảng và các kết xuất con trỏ. Những cơ chế nào có thể được thực hiện thành ngôn ngữ lập trình để ngăn chặn khả năng xảy ra tình trạng chủng tộc …



4
Nếu một kiến ​​trúc microservice cần một cơ sở dữ liệu riêng cho mỗi microservice thì nó quá tốn kém & không thể quản lý được. Tại sao chúng ta thậm chí cần nó?
Tôi đọc về microservice và có vẻ phi logic với tôi để tạo một DB riêng cho mỗi dịch vụ chỉ để đạt được sự cô lập. Tôi có thể đạt được điều tương tự khi chỉ sử dụng các dịch vụ web và cơ sở dữ liệu duy nhất. …






6
Làm thế nào để bạn tránh lặp đi lặp lại vô tận thông qua các thiết kế không tối ưu như nhau?
Vì vậy, có lẽ giống như nhiều người, tôi thường thấy đau đầu với các vấn đề thiết kế, ví dụ, có một số mẫu / phương pháp thiết kế có vẻ phù hợp với vấn đề và có lợi ích mong muốn. Rất thường có một số cảnh báo …

3
Có phải là thực hành tốt để bọc một tập các thuộc tính có liên quan vào cấu trúc / lớp riêng của nó không?
Viết một đối tượng Người dùng bằng Swift, mặc dù câu hỏi của tôi liên quan đến bất kỳ ngôn ngữ được gõ mạnh nào. Người dùng có thể có một loạt các liên kết (FacebookProfile, InstagramProfile, v.v.). Một vài câu hỏi xung quanh này. Có phải là thực hành …


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.