Giter Club home page Giter Club logo

calculator's Introduction

Heritage:

L'heritage est un concepte de la programmation orientee objet qui permet a une class d'utiliser le comportement d'une autre class. Cela permet la reutilisabilite du code et de donner une structure de base au developpeur.

Polymorphisme

Le polymorphisme est la capacite d'une fonction a avoir le meme nom mais des parametres differents.

Methodes virtuelles

Une methode virtuelle est une fonction de class dont on peut redefinir l'implemetation dans les class qui en herite.

Classe abstraite

Une class abstraite est une class que l'on ne peut pas instancier. Elle permet de definir une couche d'abstraction en creant une interface.

operateurs

Les operateurs sont des mots predefinis par le language cles qui agissent comme des fonctions. ( + - * < > () etc...) On defini les operateurs dans les class. Cela permet dans certains cas de rendre plus expressif pour un humain.

pointeur

Un pointeur est une variable qui contient un adresse memoire.

template

Pour ce projet, j'ai propose deux architectures.

-Architecture base sur une interface de base Shape. Cette architecture est base sur la programmation orientee objet. Une class de base Shape dont toutes les autres class qui represente la geometrie depende. Cette facon de faire couple la representation des donnees et les algorithmes utilises pour calculer la surface et le perimetre. Cela permet d'avoir une interface clair et simple a comprendre pour le developeur s'il veut faire evoluer le logiciel. Par exemple ajouter une nouvelle forme. Il suffit de creer une nouvelle class qui herite de Shape ou d'une forme specifique (Polygone par exemple). Puis coder les deux methodes Area et Perimeter. Cette architecture a pour inconvenient de rendre depend la representation des donnees de la partie de calcule. Utilise dans Shape.cpp Shape.h ShapeFactory.cpp ShapeFactory.h.

-Architecture base sur la donnee. Cette architecture est base sur la programmation orientee donnees et aussi sur la programmation orientee objet puisque que l'on va utilise l'heritage. Le but de cette architecture est de decoupler la representation des donnees de la partie calcul. Cela rend le code un peu plus complex a comprendre qu'une pure implementation en POO. Mais elle rend le code plus evolutif grace au decouplage.

calculator's People

Contributors

aurel3d avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.