component-based software engineering

Table of Contents

building software with loosely coupled individual components.

1. example

components for a GUI program that performs __ + __ = __:

GUI registering component
talk to OS and get you a window to work with
GUI drawing component
redraw your GUI every 1000ms
input handling component
listen to input element, and pass input to somewhere(like computing component)
computing component
compute x + y

Each of the component is modular and can be reused with little modification.

2. configuration-based(data-based) or hard-wired

  • configuration-based - connections are specified with data external to the program, so one application could effectively transform to another application just by manipulating the configuration.
    • usually hard-wired options, as the parser has to have hard-wired code for each configuration option to handle them. If without hard-wired options, the parser of configuration would have to have accses to program at runtime, and would be effectively another scriptig language
  • hard-wired - write the connections in the component code, or a “main” script.

Backlinks

code zettel as component

As zettelkasten operates on atomic notes, notes on patterns and snippets are likely capable of being described as worry-free black-box or component, therefore forms a solid ground for or component-based software engineering.

Author: Linfeng He

Created: 2024-04-03 Wed 23:23