Learn about Data Driven Programming – Part 1

Tram Ho

In the years of programming, most of myself only used procedural Oriented Programming (POP) and object-oriented programming (Object Oriented Programming – OOP), because their C # code and Java are the main. When I switched to Front-end programming with ReactJs, I was introduced to this Data Oriented Programming (DOP) concept. Feeling that each type will have many advantages and disadvantages, so write up the article for everyone to comment.

Data Driven Programming (DDP) or Data Oriented Programming (DOP) is defined as the type of programming where the program code does not contain or very few business logic processes. Most of these business logic processes will be on datasource (be it XML, Json or SQL database). In the article I will use the term Data Driven, because now the concept is used for development and business (Business) as a trend and culture, so using this phrase will be closer and more accessible. In this article I compare DDP and OOP, because my work and stack work with these two types of programming more.

DDP and OOP

I will skim through the definition, mainly going about the main application of programming types when the problem is required (Requirement)

1 / OOP object-oriented programming

This type of programming is often closer to user requirements and the life around us. Often the way to determine the logic of this type would be

  • Identify objects in a problem request
  • Identify attributes, data, and relationships between objects in problem problems

2 / DDP data driven programming

With DDP, the required problem is to be looked at in terms of data. In DDP, even the processing functions will be attached to the data, at this time designing the data structures will take more time to build. This leads to a reduction in the number of lines of code and program execution time, due to the logical handling already embedded in the data.

3 / OOP vs DDP

OOP is a traditional programming style of programmers

Advantages

  • The design method will be a mapping between actual problem requirements and programming languages, so the design is relatively simple
  • OOP itself supports the inheritance and polymorphism very well, so the development and expansion of code for these applications is very flexible.

Weakness

  • For program requirements of data processing, filtering & data conversion, OOP will take a long time to design.
  • When the data model or data logic changes, the programmer needs to edit and maintain the data on the program

DDP is commonly used with current applications for processing, converting data and front-end programming applications.

Advantages

  • The logic lies in data, so changing the logic requires the problem to be allowed to change and maintain by End User or Business End itself. Exemption does not change the structure of the data
  • Application performance will be shortened due to the logical processing mostly navigated in the data itself

Weakness

  • When the data is too big, designing the data logic will be a big challenge
  • Need coordination and great understanding of the problem requirements. Sometimes programmers and business users must sit together to make data structures

In the following article, I will go into a practical example of how OOP and DDP solve real problems. The descriptions and designs of both types are always

Problem requirements: Develop a salary & benefit display program for the company with 3 levels of employees: STAFF, MANAGER, TOP MANAGER (Senior leadership type). Each rank will have different benefits and payment modes

See you all in the next post

Articles with references from sources

Share the news now

Source : Viblo