Reading notes for class 1, react and components.

Component-based-architecture

It provides a higher level of abstraction and divides the problem into sub-problems, each associated with component partitions. It is meant to represent well-defined communication interfaces containing methods, events, and properties. Component based architecture allows for component reusability.

Component-oriented software design has many advantages over the traditional object-oriented approaches such as

  • Reduced time in market and the development cost by reusing existing components.
  • Increased reliability with the reuse of the existing components.

Components are well defined sets of functionality that can be protable, modular, or replaceable. A component is a software object, intended to interact with other components, encapsulating certain functionality or a set of functionalities. It has an obviously defined interface and conforms to a recommended behavior common to all components within an architecture. More advantages :

  • Ease of deployment As new compatible versions become available, it is easier to replace existing versions with no impact on the other components or the system as a whole.

  • Reduced cost The use of third-party components allows you to spread the cost of development and maintenance.

  • Ease of development Components implement well-known interfaces to provide defined functionality, allowing development without impacting other parts of the system.

  • Reusable The use of reusable components means that they can be used to spread the development and maintenance cost across several applications or systems.

  • Modification of technical complexity A component modifies the complexity through the use of a component container and its services.

  • Reliability The overall system reliability increases since the reliability of each individual component enhances the reliability of the whole system via reuse.

  • System maintenance and evolution Easy to change and update the implementation without affecting the rest of the system.

  • Independent Independency and flexible connectivity of components. Independent development of components by different group in parallel. Productivity for the software development and future software development.

Props

If components need to communicate (send data to each other), the way to pass data between components is by using props. “Props” is a special keyword in React and it stands for properties. They are passed in uni-directional flow (One way from parent to child).

Things i want to learn more

how do components interact with the code is it just the code itself or do components operate outside of the functions