And it's a fact now Ruby has been defected by JavaScript …

The Java Posse : Java Posse #460
Syndication. Feedback Forums/Email. Ask a Question · JavaPosse Google Group · javaposse@gmail.com. Call us at: (408) 465-4626. Channels. iTunes Podcast · Follow JavaPosse on Twitter Follow us on twitter! Creative Commons License The Java Posse by The Java Posse is licensed under a Creative …

· Ignore all the cache in the diagram. They are just for the improvement of the performance. AngularJS can run and  work without them.
· No matter it’s provider, service, factory, value, they are ALL objects in the traditional MVC Service Layer. The subtle difference is like difference between procedure and function. They are initialised when inject into other objects.
· ALL objects in service layer can be decorated, similar to Template Pattern used a lot in Spring modules.
· Controller, Directive (Custom Tag?), Filter are ALL objects and SAME concept in the traditional MVC Control Layer. They are required to be initiated when they are invoked (sounds like lazy loading?)
· ALL objects in Service and Control layers are injectable (as SAME as Spring).
· ALL objects in Service and Control layers are Singleton (as SAME as default Spring bean type is Singleton).
· You can’t use DI in constant (don’t know how to do DI in a static final “constant” in Spring).
 
Honestly to say, I don’t see AngularJS has any breakthrough architecture design than the “OLD” Spring MVC and Spring IoC.
 
Read more:
http://www.mikeobrien.net/blog/angular-consts-values-services-factories-and-providers-oh-my/
http://blog.xebia.com/2013/09/01/differences-between-providers-in-angularjs/

Microservices is nothing new than Domain Driven Development, Event Driven SOA, good old application architecture design principles like Separation of Concerns, Loose Coupling, Single Point of Failure, and regarding application testing as equal in importance to application development and emphasizing testing discipline should reach first class citizenship on equal footing with development.

Actually, Microservices is like bottle will a new label, but still filled with the old wine … …

Embedded Link

The 7 Deadly Sins of Microservices | Open Source Software Development Consultancy in London
Undeniably, there is a growing interest in microservices as we see more organisations, big and small, evaluating and implementing this emerging approach. Despite its apparent novelty, most concepts and principles underpinning microservices are not exactly new – they are simply proven and …

· Ignore all the cache in the diagram. They are just for the performance improvement. AngularJS can run and  work without them.
· No matter it’s Provider, or Service, Factory, Value, they are ALL kind of objects can be found in the traditional MVC Service Layer. The "subtle" difference is like difference between procedure and function. They are initialised when they are injected into other objects.
· ALL objects in service layer can be decorated, similar to Template Pattern used a lot in Spring modules.
· Controller, Directive (Custom Tag?), Filter are ALL objects and SAME concept in the traditional MVC Control Layer. They are required to be initiated when they are invoked (sounds like lazy loading?)
· ALL objects in Service and Control layers are injectable (as SAME as Spring).
· ALL objects in Service and Control layers are Singleton (as SAME as default Spring bean type is Singleton).
· You can’t use DI in constant or decorate a constant (don’t know how to do DI in a static final “constant” in Spring).
 
Honestly to say, I don’t see AngularJS has any breakthrough architecture design than the “OLD” Spring MVC and Spring IoC.
 
Read more:

· http://www.mikeobrien.net/blog/angular-consts-values-services-factories-and-providers-oh-my/

· http://blog.xebia.com/2013/09/01/differences-between-providers-in-angularjs/

AngularJS Diagram

Google+: View post on Google+