Maison Problème commun Quel est l'objectif du codage dans la conception du code du système d'information de gestion ?

Quel est l'objectif du codage dans la conception du code du système d'information de gestion ?

Aug 28, 2020 pm 02:16 PM
编码

Le but du codage est : l’unicité, la standardisation et la systématisation. Les codes utilisent des chiffres ou des caractères pour représenter diverses entités objectives. Le but de la conception de codes pendant le processus de développement du système est : l'unicité, la normalisation et la systématisation.

Quel est l'objectif du codage dans la conception du code du système d'information de gestion ?

Le code utilise des chiffres ou des caractères pour représenter diverses entités objectives. Le but de la conception du code pendant le processus de développement du système est :

1. Unique;

2. Normalisation

3.

Six principes de conception de code

Principe de responsabilité unique

Définition : Une classe A ou une interface n’est mieux responsable que d’une seule responsabilité.

Origine du problème : La classe T est responsable de deux responsabilités différentes P1 et P2. Étant donné que la responsabilité P1 doit être modifiée et que la classe T doit être modifiée, cela peut entraîner un dysfonctionnement de la fonction de la responsabilité P2 qui fonctionnait normalement à l'origine.

Solution : Suivez le principe de responsabilité unique. Créez respectivement de nouvelles classes pour correspondre aux responsabilités correspondantes ; de cette façon, vous pouvez éviter que la modification de la classe n'affecte d'autres responsabilités

Lorsque vous rencontrez la prolifération des responsabilités, seulement lorsque la logique est assez simple, en violant le ; Principe de responsabilité unique au niveau du code. Ce n'est que lorsque le nombre de méthodes dans une classe est suffisamment petit que le principe de responsabilité unique peut être violé au niveau de la méthode.

Avantages : La complexité de la classe sera ; réduit et la lisibilité sera réduite. Elle sera grandement améliorée et la maintenabilité sera également améliorée.

Principe de substitution de Liskov

Partout où une classe de base est utilisée, ses sous-classes peuvent être utilisées arbitrairement, garantissant que la sous-classe peut parfaitement remplacer la classe de base de ce type L'esprit ; est en fait l'incarnation des contraintes et des normes du mécanisme d'héritage. Dans l'implémentation spécifique des classes et sous-classes parentes, les caractéristiques des relations dans la hiérarchie d'héritage sont strictement contrôlées pour garantir que lors du remplacement de la classe de base par une sous-classe, le comportement du programme ne posera pas de problèmes et pourra continuer normalement.

Pour l'héritage, la classe parent définit une série de spécifications et de contrats. Bien qu'il ne soit pas obligatoire que toutes les sous-classes s'y conforment, si la sous-classe modifie arbitrairement ces méthodes non abstraites, l'ensemble du système d'héritage sera affecté. Causer des dégâts.

Si vous devez réécrire la méthode de la classe parent, la méthode la plus courante est la suivante : la classe parent et la sous-classe d'origine héritent toutes deux d'une classe de base plus populaire, suppriment la relation d'héritage d'origine et utilisent la dépendance. , agrégation, combinaison et autres relations ; le principe

comprend les quatre niveaux de signification suivants :

* Une sous-classe peut implémenter la méthode abstraite de la classe parent, mais ne peut pas remplacer la méthode non abstraite de la classe parent Méthodes ;

* Les sous-classes peuvent ajouter leurs propres méthodes uniques

* Lorsqu'une méthode d'une sous-classe remplace une méthode d'une classe parent, les paramètres formels de la méthode est plus grande que les paramètres d'entrée de la méthode de la classe parent. Meilleure et plus détendue

* Lorsqu'une méthode d'une sous-classe implémente une méthode abstraite d'une classe parent, la valeur de retour de la méthode est plus stricte ; que celui de la classe parent ;

Principe d'inversion de dépendance

Définition : Les modules de haut niveau ne doivent pas s'appuyer sur des modules de bas niveau, les deux doivent s'appuyer sur leurs abstractions ; les abstractions ne doivent pas s'appuyer sur des détails ; les détails doivent s'appuyer sur des abstractions, et l'idée principale est de s'appuyer sur des abstractions

Origine du problème : la classe A dépend directement de la classe B. Si vous souhaitez changer la classe A en ; dépendent de la classe C, vous devez modifier le code de la classe A. Dans ce scénario, la classe A est généralement un module de haut niveau responsable de la logique métier complexe ; la classe B et la classe C sont des modules de bas niveau responsables des opérations de base si ; la classe A est modifiée, cela entraînera des risques inutiles pour le programme.

Solution : modifiez la classe A pour qu'elle dépende de l'interface I. La classe B et la classe C implémentent chacune l'interface I. La classe A contacte indirectement la classe B et la classe C via l'interface I. La modification de la classe A réduira la probabilité de coût ;

En pratique, nous devons généralement faire les trois points suivants :

* Les modules de bas niveau doivent avoir des classes ou des interfaces abstraites, ou les deux

* Le type déclaré ; des variables doivent être des classes ou des interfaces abstraites autant que possible

* Suivez le principe de substitution de Liskov lors de l'utilisation de l'héritage

Principe de ségrégation d'interface

Définition : le client ne doit pas s'appuyer sur des interfaces dont il n'a pas besoin ; la dépendance d'une classe à l'égard d'une autre classe doit être basée sur la plus petite interface, sinon cela entraînera une pollution de l'interface. La classe A dépend de la classe B via l'interface I, la classe C dépend ; sur la classe D via l'interface I. Si l'interface I n'est pas l'interface minimale pour la classe A et la classe B, alors la classe B et la classe D doivent implémenter les méthodes dont elles n'ont pas besoin. La signification du principe

est : établir ; Pour une seule interface, ne construisez pas une interface énorme et volumineuse. Essayez d'affiner l'interface autant que possible et d'avoir le moins de méthodes possible dans l'interface. C'est-à-dire que nous devrions établir une interface dédiée pour chaque classe au lieu de cela. essayer de construire une énorme interface pour tous ceux qui comptent sur elle pour appeler

Notez que l'interface doit être aussi petite que possible, mais il doit y avoir une limite. flexibilité de programmation, mais si elle est trop petite, le nombre d'interfaces sera aussi petit que possible, ce qui réduit la complexité de conception. Par conséquent, il doit être modéré. Personnalisez les services pour les classes qui s'appuient sur des interfaces. Exposez uniquement à la classe appelante les méthodes dont elle a besoin et masquez les méthodes dont elle n'a pas besoin

Règle :

 ;

* Une interface ne sert qu'un sous-module ou une logique métier et sert à la personnalisation

* Compressez les méthodes publiques dans l'interface via la logique métier pour rendre l'interface plus compacte

;

* Modifiez au maximum les interfaces qui ont été polluées. Si le risque de changement est trop grand, utilisez le mode adaptateur pour transformer

* Selon le métier spécifique, comprenez la logique en profondeur et ; utilisez votre cœur pour contrôler les idées de conception ;

Comment implémenter l'isolation de l'interface, il existe deux méthodes principales :

1. Séparation des délégations, en ajoutant un nouveau type d'interface pour déléguer la demande du client, isoler la dépendance directe entre le client et l'interface, veuillez noter Cela augmentera également la surcharge du système

2. Séparez l'héritage multiple et répondez aux besoins du client grâce à l'héritage multiple d'interfaces ; >Loi de Déméter

Définition : Un objet doit conserver le moins de connaissances sur les autres objets. L'esprit principal est : ne parlez pas à des étrangers. Le sens populaire est qu'un objet doit en savoir moins sur les classes. qui doivent être couplés et associés pour appeler ; cela entraînera une réduction du degré de couplage entre les classes et une dépendance vis-à-vis des autres classes minimisée par chaque classe.

Principe de composition et de réutilisation

Le principe est d'utiliser au maximum la composition/agrégation au lieu de l'héritage

Ouverture et principe de fermeture

Définition : Une entité logicielle telle qu'une classe, un modèle et une fonction doit être fermée à l'extension et à la modification

Solution : Lorsque le logiciel doit changer, essayez de l'étendre ; le comportement de l'entité logicielle Mettre en œuvre des changements au lieu de modifier le code existant pour mettre en œuvre des changements

Principe de responsabilité unique : les classes d'implémentation doivent avoir une seule responsabilité ;
    Principe de remplacement de Richter : ne pas détruire le système d'héritage
  • Principe d'inversion des dépendances : programmation orientée interface ;
  • Principe d'isolation de l'interface ; : être précis lors de la conception des interfaces Simple ;
  • Loi de Déméter : réduire le couplage
  • Principe d'ouverture et de fermeture : schéma général, ouvert à l'expansion ; , fermé à modification ;
  • Pour plus de connaissances connexes, veuillez visiter :

    Site Web PHP chinois
  •  !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

11 techniques courantes d'encodage des caractéristiques de classification 11 techniques courantes d'encodage des caractéristiques de classification Apr 12, 2023 pm 12:16 PM

Les algorithmes d'apprentissage automatique n'acceptent que les entrées numériques, donc si nous rencontrons des caractéristiques catégorielles, nous coderons les caractéristiques catégorielles. Cet article résume 11 méthodes courantes de codage de variables catégorielles. 1. ONE HOT ENCODING La méthode d’encodage la plus populaire et la plus couramment utilisée est One Hot Enoding. Une unique variable à n observations et d valeurs distinctes est convertie en d variables binaires à n observations, chaque variable binaire est identifiée par un bit (0, 1). Par exemple : l'implémentation la plus simple après l'encodage consiste à utiliser get_dummiesnew_df=pd.get_dummies(columns=[‘Sex’], data=df)2 de pandas,

Combien d'octets les caractères chinois codés en utf8 occupent-ils ? Combien d'octets les caractères chinois codés en utf8 occupent-ils ? Feb 21, 2023 am 11:40 AM

Les caractères chinois codés en UTF8 occupent 3 octets. En codage UTF-8, un caractère chinois équivaut à trois octets et un signe de ponctuation chinois occupe trois octets, tandis qu'en codage Unicode, un caractère chinois (y compris le chinois traditionnel) équivaut à deux octets. UTF-8 utilise 1 à 4 octets pour coder chaque caractère. Un caractère US-ASCIl n'a besoin que de 1 octet pour coder. Le latin, le grec, le cyrillique, l'arménien et l'hébreu avec des signes diacritiques, l'arabe, le syriaque et d'autres lettres nécessitent 2 octets. codage.

Knowledge graph : le partenaire idéal des grands modèles Knowledge graph : le partenaire idéal des grands modèles Jan 29, 2024 am 09:21 AM

Les grands modèles linguistiques (LLM) ont la capacité de générer un texte fluide et cohérent, ouvrant de nouvelles perspectives dans des domaines tels que la conversation par intelligence artificielle et l'écriture créative. Cependant, le LLM présente également certaines limites clés. Premièrement, leurs connaissances se limitent aux modèles reconnus à partir des données de formation, sans une véritable compréhension du monde. Deuxièmement, les capacités de raisonnement sont limitées et ne peuvent pas faire de déductions logiques ni fusionner des faits provenant de plusieurs sources de données. Face à des questions plus complexes et ouvertes, les réponses de LLM peuvent devenir absurdes ou contradictoires, ce que l'on appelle des « illusions ». Par conséquent, bien que le LLM soit très utile à certains égards, il présente néanmoins certaines limites lorsqu’il s’agit de problèmes complexes et de situations du monde réel. Afin de combler ces lacunes, des systèmes de génération augmentée par récupération (RAG) ont vu le jour ces dernières années.

Plusieurs méthodes de codage courantes Plusieurs méthodes de codage courantes Oct 24, 2023 am 10:09 AM

Les méthodes de codage courantes incluent le codage ASCII, le codage Unicode, le codage UTF-8, le codage UTF-16, le codage GBK, etc. Introduction détaillée : 1. Le codage ASCII est la première norme de codage de caractères, utilisant des nombres binaires de 7 bits pour représenter 128 caractères, y compris des lettres anglaises, des chiffres, des signes de ponctuation, des caractères de contrôle, etc. 2. Le codage Unicode est une méthode utilisée pour représenter ; tous les caractères du monde La méthode d'encodage standard des caractères, qui attribue un point de code numérique unique à chaque caractère 3. Encodage UTF-8, etc.

Conseils de codage PHP : Comment générer un code QR avec fonction de vérification anti-contrefaçon ? Conseils de codage PHP : Comment générer un code QR avec fonction de vérification anti-contrefaçon ? Aug 17, 2023 pm 02:42 PM

Conseils de codage PHP : Comment générer un code QR avec fonction de vérification anti-contrefaçon ? Avec le développement du commerce électronique et d’Internet, les codes QR sont de plus en plus utilisés dans divers secteurs. Lors de l'utilisation des codes QR, afin de garantir la sécurité des produits et de prévenir la contrefaçon, il est très important d'ajouter des fonctions de vérification anti-contrefaçon aux codes QR. Cet article expliquera comment utiliser PHP pour générer un code QR avec fonction de vérification anti-contrefaçon et joindra des exemples de code correspondants. Avant de commencer, nous devons préparer les outils et bibliothèques nécessaires suivants : PHPQRCode : PHP

Quelles sont les règles d'encodage hdb3 ? Quelles sont les règles d'encodage hdb3 ? Aug 29, 2023 pm 01:38 PM

Les règles de codage sont les suivantes : 1. Si le code précédent est 0 et le bit de données actuel est 0, le code est 0 ; 2. Si le code précédent est 0 et le bit de données actuel est 1, le code est une impulsion bipolaire (+A). ou - A), et le compteur est augmenté de 1 ; 3. Si le code précédent est 1 et le bit de données actuel est 1, le code est 0 et le compteur est augmenté de 1 ; , le bit de données actuel est 0. La méthode de codage est déterminée en fonction de la parité du compteur. S'il s'agit d'un nombre pair, le codage est (+B ou -B). S'il s'agit d'un nombre impair, le codage est zéro. niveau et le compteur est effacé et ainsi de suite.

Comment résoudre le problème de l'encodage des résultats des requêtes de la base de données PHP Comment résoudre le problème de l'encodage des résultats des requêtes de la base de données PHP Mar 21, 2023 am 11:49 AM

PHP est un langage de programmation Web populaire qui peut être utilisé pour écrire des pages Web et des applications dynamiques. Dans les applications pratiques, PHP doit souvent interagir avec la base de données pour interroger et traiter les données. Cependant, lorsque vous utilisez PHP pour obtenir des résultats à partir d'une base de données, vous pouvez rencontrer des problèmes d'encodage, qui entraînent souvent des caractères tronqués. Alors, comment résoudre le problème de l’encodage des résultats des requêtes de la base de données PHP ?

Découvrez comment améliorer les performances de codage basées sur GenAI dans un article Découvrez comment améliorer les performances de codage basées sur GenAI dans un article Apr 01, 2024 pm 06:49 PM

Bonjour les amis, je m'appelle Luga et aujourd'hui nous parlerons des technologies liées au domaine écologique de l'intelligence artificielle (IA) - GenAI. Face aux défis d'une innovation technologique rapide et de scénarios commerciaux différenciés, les méthodes de codage traditionnelles ont commencé à s'acclimater et ne peuvent pas pleinement répondre aux demandes croissantes. Dans le même temps, la nouvelle GenAI (technologie d’intelligence artificielle) à usage général présente un grand potentiel pour répondre à cette demande. En tant que représentant de la technologie de l'intelligence artificielle, GenAI a commencé à être largement utilisé dans tous les domaines grâce à son fort potentiel et ses capacités. Il peut automatiquement apprendre et s'adapter aux besoins de codage dans différents scénarios, améliorant ainsi considérablement l'efficacité et la qualité du codage. Grâce à l'apprentissage profond et à l'optimisation des modèles, GenAI est capable de comprendre avec précision différents