2008-09-17 16 views
5

Có mẫu nào tốt để sử dụng khi lưu và tải các định dạng tệp khác nhau không?Mẫu để lưu và ghi vào các định dạng tệp khác nhau

Ví dụ: tôi có phân cấp lớp phức tạp cho tài liệu nhưng tôi muốn hỗ trợ một vài định dạng tệp khác nhau.

Tôi đã nghĩ về mẫu Chiến lược, nhưng tôi không bị thuyết phục vì cần truy cập mọi phần của đối tượng để lưu và tải nó.

Trả lời

2

Bạn có thể sử dụng Visitor Pattern, nó cho phép lặp qua nhân viên quản lý của bạn thực hiện các thao tác khác nhau tùy thuộc vào nút mà Khách truy cập hiện đang xử lý.

Tin xấu: có thể bạn cần thêm ít nhất một phương pháp ảo ở đầu hệ thống phân cấp và có thể xác định lại nó trong một số lớp dẫn xuất và khách truy cập vẫn truy cập dữ liệu của các nút, nhưng bạn phân tách định dạng tệp , vì việc triển khai khách truy cập khác nhau có thể ghi dữ liệu được thu thập theo nhiều cách khác nhau.

Hãy xem qua số memento pattern nếu ẩn dữ liệu hierachy lớp là phải. This article cũng có thể hữu ích.

Chỉnh sửa: Liên kết đến trang gốc Memento pattern article sử dụng bộ nhớ cache google

+0

Liên kết đến bài viết cho mẫu lưu trữ bị hỏng. Bạn có cái nào tốt hơn không? –

+0

Chà, giống như 7 năm; và tôi thậm chí không nhớ tên bài viết, xin lỗi –

+0

tin tốt, tìm thấy nó bằng cách sử dụng bộ nhớ cache của google: http://webcache.googleusercontent.com/search?q=cache:www.ondotnet.com/pub/a/dotnet/ 2002/09/09/memento.html –

1

Bạn có thể muốn xem mẫu Builder. Trang GoF 97 ..

0

Làm thế nào về (một cái gì đó dựa trên) các Template method pattern?

Một siêu lớp biết cách tách rời phân cấp lớp, nhưng dựa vào các lớp con của nó để thực sự làm điều gì đó hữu ích với nó.

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