2009-08-12 2 views
2

Я использую AOP для «классических» вещей, таких как ведение журнала и безопасность, и я начинаю принимать его дальше.AOP и пользовательское хранилище данных

Одной из проблем, с которыми я часто сталкиваюсь с настольными приложениями, является необходимость локального хранения пользовательских данных. С этой целью я создал компонент, который хорошо работает для меня, который хранит данные как XML в подпапке приложения для папки LocalApplicationData (в Windows, но эта концепция применима к любой ОС).

Каждое приложение должно хранить свои собственные данные, но я также создал библиотеку кода, где несколько компонентов также должны хранить данные.

Один из подходов, который я мог бы предпринять, - это плотно связать каждый из моих компонентов, которым нужна локальная служба хранения, для моей реализации локального хранилища. Однако изменение интерфейса этого локального механизма хранения будет дорогостоящим.

Является ли эта проблема областью, хорошо подходящей для АОП? Есть ли лучшие подходы? Есть ли подводные камни, которых я не вижу?

+0

Я понимаю, что вы поставили язык-агностик, но язык будет иметь значение, так как Java имеет гораздо лучшую поддержку AOP, чем C#, например. Но, если вы используете Spring, это может быть не так важно. В java это было бы намного проще. –

ответ

1

Я действительно не вижу проблемы с перекрестными связями, которые могли бы решить эту проблему для АОП.

Просто определите немного API для хранения информации. Сделайте свою библиотеку реализацией этого интерфейса. Поместите все вместе с Spring, любым инструментом DI или ручным кодом клея, и все готово.

Смежные вопросы