0
我已發現從維基百科http://en.wikipedia.org/wiki/Aspect-oriented_programmingAOP解決學術例如
一個AOP示例這裏是有趣的部分:
void transfer(Account fromAcc, Account toAcc, int amount, User user, Logger logger)
throws Exception
{
logger.info("Transferring money…");
if (!isUserAuthorised(user, fromAcc)) {
logger.info("User has no permission.");
throw new UnauthorisedUserException();
}
if (fromAcc.getBalance() < amount) {
logger.info("Insufficient funds.");
throw new InsufficientFundsException();
}
fromAcc.withdraw(amount);
toAcc.deposit(amount);
database.commitChanges(); // Atomic operation.
logger.info("Transaction successful.");
}
記錄儀發生在方法3次。我怎麼能爲這3個特定的情況注入它,通常所有的AOP容器都有像方法執行之前或之後注入的選項。 以下是可以在IOS下使用的AOP容器的鏈接 https://github.com/tokorom/BlockInjection
謝謝!
我無法幫助iOS開發,但是如果您願意,我可以在AspectJ中將示例代碼發佈到解構維基百科示例Java代碼的方面。儘管如此,如果你認爲接受這個答案是有效的,我只會勉強這麼做。我正在等待您的反饋。 – kriegaex 2014-12-05 08:09:22