"抽象的概念"是你自己起的名字吧?其实你提到的那些东西也是别人起的名字而已,知道不知道其实作用不大,没什么必要特意去学习。
举例来说,你知道SOAP又怎么样,不知道又怎么样?如果项目不需要,你知道也不能用,如果项目不需要,不知道你就去学,你举的这几个例子都是。
在长期的开发中,某些功能或者对象被总结和抽象,然后命名,然后别人就可以拿来,如此而已。比如很早的时候邮件发送是通过socket,模拟pop3协议与邮件服务器通讯完成邮件发送,现在只要找个SendMail类,配置一下就能发邮件了。数据库也是,当你基于框架或者开源产品开发的时候数据库对象已经被封装了,但是在这里你也同样可以看到很多新手还是拿mysqli_connect之类的代码在问问题。
所以,当你需要做的时候搜索一下有没有已有的解决方案就行了,预习几乎没有意义。soap, aop这种东西你做10个项目也不一定会用到一次。
看到不认识的特殊名词自己搜索一下也是不错的补充,知道是什么就够了,用到了再研究不算晚。现在发展的很快,很可能你研究了一个月才学会,然后发现已经有新的东西代替它了。