Là một phần của các phụ thuộc mà dự án tôi đang thực hiện, chúng tôi sử dụng một số dịch vụ cốt lõi. Những dịch vụ này, mà chúng tôi không thể tạo ra những thay đổi lớn, là một mớ hỗn độn lớn. Tùy thuộc vào phương thức chúng ta gọi, chúng ta cần chuyển đổi các tham số (và trả về giá trị) thành các bảng mã, địa phương và múi giờ khác nhau.
Vì chúng tôi tạo các tham số này ở nhiều nơi trong mã riêng của mình, chúng tôi thực hiện các chuyển đổi này ở nhiều nơi. Đôi khi chúng ta tạo ra chúng, trước khi vượt qua chúng ở bên chúng ta; một số lần ngay trước khi gọi phương thức trong dịch vụ cốt lõi. Vì vậy, mớ hỗn độn đang lan rộng khắp mã của chúng tôi và tôi muốn giới thiệu một lớp để cô lập nó.
Câu hỏi của tôi là cách tiếp cận tốt nhất cho điều đó. Ban đầu tôi nghĩ chỉ cần tạo một dịch vụ / phương thức tương ứng với từng dịch vụ / phương thức mà chúng ta cần sử dụng. Các phương thức này chỉ đơn giản là thực hiện chuyển đổi, ủy quyền cho các dịch vụ cốt lõi và thực hiện chuyển đổi giá trị trả về. Nhưng điều này có vẻ khó sử dụng.
Sau đó tôi nghĩ đến việc sử dụng các chú thích, nhưng tôi không hoàn toàn chắc chắn về cách sử dụng chúng. Và theo tôi hiểu, lý tưởng nhất là tôi sẽ cần chú thích phương thức được gọi. Chẳng hạn, tôi có thể chú thích các tham số với @converToUtc
và thực hiện chuyển đổi trong triển khai chú thích. Điều này có đúng không? Tất nhiên, điều này thật khó vì đó không phải là mã của chúng tôi và nó sẽ phá vỡ mã hiện đang sử dụng các phương thức đó trong các dự án khác ngoài chúng tôi.
Cách tiếp cận tốt nhất cho tình huống này là gì?