- Real Object Programming [1]
- Component Oriented Development
- Generic Programming
- Modular Development
- Component Oriented Development
Currently:
Standard components "only" for "Infrastructure / Domain Specific Code"
Standard components "only" for "Infrastructure / Domain Specific Code"
(as opposed to "Application specific Code").
Examples of "Infrastructure / Domain Specific Components (Libraries / Frameworks)" include
What is required: "Application Specific Components", which would help us write all Software fusing components, not starting from scratch every time we are starting a new Software project.
- Django {Web Infrastructure / Domain}
- JMS - ActiveMQ {Message Passing Infrastructure})
- Hadoop {Mapreduce Infrastructure}
- Akka {Distributed Conurrency; Fault Tolerance}
- Erlang - OTP {Distributed Conurrency; Fault Tolerance; Rea Time}
What is required: "Application Specific Components", which would help us write all Software fusing components, not starting from scratch every time we are starting a new Software project.
As an example, currently,
Django ["Infrastructure / Domain Specific Components (Libraries / Frameworks)"] provides us with an MVC framework (or MTV - Model - Template - View, depending on whom you ask),
but we have to write the "view" ("Application specific Code") from scratch every time we are writing one.
Why not write "view" by fusing standard components / modules ("Application Specific Components") together, rather than starting the view from scratch?
- Generic Programming
Generic objects that work together.
Example:
In C++ STL, we have generic data structures (List, Vector, Map, etc.)
that work with generic Algorithms.
You can switch one data structure with another.
- Modular Development
(for integrating the components mentioned above)
Standard Interface - > Generic Programming
"OSGi Model" - Plugging in Components
Example:
Example:
Android : To some degree; Plugging
- "Activities",
- "Services",
- "Content Providers"
References
No comments:
Post a Comment