当你谈到AOP(面向方面编程)时,你应该考虑一下可以应用的横切关注点。
我认为其中一个横切关注点是国际化。
是否可以使用一些AOP框架来解决国际化等问题? 有没有人有使用它的经验?
答案 0 :(得分:3)
在某种程度上,一切都可以用于I18n。然而,你很可能会重新发明轮子,或者你会完全搞砸了。
现在,我们暂时考虑一下。横切关注的典型例子,因此典型的用例是记录。当然,你可以将它用于其他任何事情,唯一的先决条件是,你需要重复做的事情或多或少相同的方式。
你能这样做吗?当然,你可以用它来:但是,我不太关心其他I18n问题,比如翻译字符串(可能,但......等待它)和消息(vel字符串)格式化。实际上,我很难想象所有占位符,有效复数形式等的消息格式。这可能是可能的,但我现在看不到它。
最后,但并非最不重要。仅仅因为你 可以 对A18n使用AOP,这并不意味着你 。对AOP的普遍批评是,它使代码更难理解(甚至不可能)。有时候,使用普通的,旧的(苍蝇,你知道)Inversion of Control更好,而不是很少有人真正理解的概念。
请记住,I18n不仅仅是您可以随时添加的功能,而且还需要从头到尾完成应用程序中不可或缺的功能。更糟糕的是,它不仅涉及代码,还涉及用户界面和整个国际用户体验 这是不太可能的,你(或任何一个完全诚实的人)只会通过使用AOP或任何其他编程概念找到I18n编程的圣杯。以这么简单的方式解决这个问题太难了......