2012-06-23 38 views
10

Có ai biết về bất kỳ mẫu thiết kế nào xung quanh cập nhật phần mềm không? Cụ thể là tôi muốn một mẫu để chuyển đổi các tệp/cài đặt cũ thành phiên bản mới nhất.Mẫu thiết kế để cập nhật phần mềm

Giải pháp tốt nhất tôi có thể nghĩ là có một bộ quy tắc về cách chuyển đổi từ mỗi phiên bản sang phiên bản tiếp theo (ví dụ: v1.0 thành v1.1, v1.1 thành v1.2, .. .). Sau đó, để chuyển đổi tệp/cài đặt sang phiên bản mới nhất, bạn sẽ chạy tất cả các quy tắc chuyển đổi theo thứ tự.

Điều này không đánh tôi như một cách rất thanh lịch khi làm việc - có cách nào tốt hơn không?

(Đối với bối cảnh, tôi là trong quy hoạch đầu/giai đoạn thiết kế của một ứng dụng Win8 Metro)

Cảm ơn trước

+2

Đừng để bạn lo lắng về sự thanh lịch đánh lừa bạn - giải pháp của bạn là giải pháp tốt nhất. Cố gắng để tắt các vấn đề và được nhiều hơn "thanh lịch" thực sự chỉ tạo ra trùng lặp. – tallseth

Trả lời

5

Tôi làm việc trong một hệ thống trong đó bao gồm một hệ thống phiên bản để di chuyển một DB để phiên bản mới nhất, và nó hoạt động như thế. Cải tiến duy nhất chúng tôi đã làm, là đôi khi chúng tôi muốn tránh xem xét tất cả các phiên bản, vì đó là một quá trình dài, vì vậy bạn có thể xác định di chuyển từ bất kỳ phiên bản nào sang phiên bản nếu bạn đang ở phiên bản 1.3 và muốn di chuyển sang phiên bản mới nhất phiên bản và bạn có kịch bản để di chuyển từ:

  1. 1,3 đến 1,4
  2. 1,4-1,5
  3. 1,5-1,6
  4. 1,6-1,7
  5. 1,7-1,8
  6. 1,4-1,7

Tôi muốn phát hiện tự động mà nó có thể sử dụng một kịch bản duy nhất để đi qua ba phiên bản 1,4-1,7 và sử dụng 1, 6 và 5. Đó là chỉ đáng giá nếu di chuyển là dài dù ...

Nếu bạn không cần phải di chuyển dữ liệu, nhưng chỉ cần sử dụng nó theo định dạng của phiên bản mới nhất, bạn có thể đạt được điều này bằng cách sử dụng Adapter Pattern bằng cách sử dụng thành phần đối tượng để chuyển đổi đối tượng có định dạng "1.3" thành "1.8 "định dạng bằng cách sử dụng một chuỗi các bộ điều hợp ở giữa.

Để trả lời nhận xét: Đáng buồn thay, chúng tôi phải thực hiện 1,4 đến 1,7 bằng tay. Bạn sẽ cần một cái gì đó khá thông minh để có thể soạn các kịch bản cập nhật được tối ưu hóa từ các tập lệnh cá nhân, mà không cần thực hiện chúng tuần tự.

+0

+1 cho bộ điều hợp xếp chồng – tallseth

+0

+1, cảm ơn câu trả lời. Khi bạn tạo tập lệnh từ v1.4 đến v1.7, bạn đã làm điều đó bằng tay hay bạn đã sử dụng công cụ tự động để làm điều đó, vì nó tấn công tôi như một thứ mà trình tối ưu hóa mã từ trình biên dịch sẽ giỏi về. – stormCloud

Các vấn đề liên quan