Http://blog.sina.com.cn/s/blog_6d2890600101cwih.html
Three data are missing a word, namely: "Programming", "Architecture" and "development" (or "Software Engineering"). At the same time, it is not "facing" components but "based on" components.
- Object-oriented Programming (Object-oreinted programming) is a programming paradigm. Refers to the way in which class instance objects are used extensively when designing programs. Once OOP is used in a project, it becomes a time to think about things.
- Service Oriented Architecture (Service-oreinted Architecture) is a set of principles or methodologies for designing software as a set of interoperable services. SOA is usually only touched when the system architecture is considered.
- Component-based development (component-based development) is a software engineering practice that typically requires high cohesion and loose coupling between components. Its interface may be OO, and may be invoked in a service-mode manner. Component-based development focuses on the design of system hierarchy, subsystem boundaries, and inter-subsystem communication, at the code level but unlike OOP, it is something that needs to be used at all times.
The three are at different levels of software development, so it is inappropriate to say what areas they are used for. Regardless of the area of software development, it is possible to confront OOP, SOA, and CBD at the same time.
What is the difference between object-oriented, service-oriented, component-oriented three programming patterns? What areas of development are applicable to each?