【Grand modèle】Application d'un grand modèle dans la conception de fonctionnalités logicielles

Créer des objets métier

1. Les objets métier existants peuvent être placés dans la base de données vectorielle
2. S'il n'y a pas de nouvel objet métier à créer, passez directement
3. Les nouveaux objets métier sont créés manuellement par l'utilisateur

mot rapide

En supposant que vous êtes un expert technique du logiciel Java, générez l'objet entité correspondant selon le format yaml suivant, parmi lesquels
1, la couche la plus haute est le nom de l'objet
2, et la valeur correspondant à chaque clé est le type d'attribut de l'objet ; le type est facultatif, s'il n'y a pas Si spécifié, vous déduirez selon le contexte
3. Vous pouvez ajouter des attributs d'encaissement si nécessaire
5. S'il y a plusieurs couches d'imbrication, la classe correspondante est une classe interne et le modificateur de classe est public static
Veuillez générer un objet Java selon le yaml suivant et utiliser lombok.
"""
{description de l'objet yaml, reportez-vous à l'exemple pour plus de détails}
"""

exemple

En supposant que vous êtes un expert technique du logiciel Java, générez l'objet entité correspondant selon le format yaml suivant, parmi lesquels
1, la couche la plus haute est le nom de l'objet
2, et la valeur correspondant à chaque clé est le type d'attribut de l'objet ; le type est facultatif, s'il n'y a pas Si spécifié, vous déduirez selon le contexte
3. Vous pouvez ajouter des attributs d'encaissement si nécessaire
5. S'il y a plusieurs couches d'imbrication, la classe correspondante est une classe interne et le modificateur de classe est public static
Veuillez générer un objet Java selon le yaml suivant et utiliser lombok.
"""

  • instance :
    nom : chaîne
    url : chaîne
    disponible : entier
  • lb :
    hash cohérent :
    requête :
    en-tête :
    clé : chaîne
    regex : chaîne
  • bilan de santé :
    intervalle : long
  • microinstance :
    nom : chaîne
    lb : lb
    healthcheck :
    instances de vérification de l'état :
    - instance
  • propriétés de service :
    • micro-instance
  • microserviceInfo :
    nom : chaîne
    namespace : chaîne
    accessurl : chaîne
    servicecontext : chaîne
    context : chaîne
    microinstances :
    - microinstance : microinstance
    """

générer un exemple d'objet

@Data
public class Instance {
    
    

    private String name;

    private String url;

    private Integer available;
}


@Data
public class Lb {
    
    

    @Singular("consistentHash")
    private List<ConsistentHash> consistentHashes = new ArrayList<>();

    @Data
    public static class ConsistentHash {
    
    

        private Request request;

        @Data
        public static class Request {
    
    

            private Map<String, String> headers = new HashMap<>();
        }
    }
}


@Data
public class HealthCheck {
    
    

    private Long interval;
}


@Data
public class MicroInstance {
    
    

    private String name;

    private Lb lb;

    private HealthCheck healthcheck;

    private Set<Instance> instances = new HashSet<>();
}


@Data
public class ServiceProperties {
    
    

    @Singular
    private List<MicroInstance> microInstances = new ArrayList<>();
}


@Data
public class MicroServiceInfo {
    
    

    private String name;

    private String namespace;

    private String accessUrl;

    private String serviceContext;

    private String context;

    private ServiceProperties serviceProperties;

    private Set<MicroInstance> microInstances = new LinkedHashSet<>();
}

Logique métier

1. Décrire la logique métier basée sur des objets métier

mot rapide

Selon l'objet ci-dessus, vous allez générer le code Java correspondant selon la description métier suivante
1, le paramètre d'entrée de la méthode de représentation d'entrée
2, le processus de traitement spécifique de la méthode de représentation du processeur
3, le paramètre de sortie de la méthode de représentation de sortie
3, la classe correspondante implémente automatiquement la classe d'interface et
les contraintes de la classe d'implémentation
1. Utilisez le démarrage de printemps, la passerelle de cloud de printemps, la caféine, la pile technologique de goyave
2. Le chemin du package est com.example.gateway
"""
{organiser la description de la logique métier dans yaml format}
"""

exemple

Selon l'objet ci-dessus, vous allez générer le code Java correspondant selon la description métier suivante
1, le paramètre d'entrée de la méthode de représentation d'entrée
2, le processus de traitement spécifique de la méthode de représentation du processeur
3, le paramètre de sortie de la méthode de représentation de sortie
3, la classe correspondante implémente automatiquement la classe d'interface et la classe d'implémentation
Contraintes
1. Utilisez Spring Boot, Spring Cloud Gateway, Caféine, Goyave Technology Stack
2. Le chemin du package est com.example.gateway
"""

  • healthCheckService:
    checkservice:
    input: null
    processor:
    step1 : Lire la configuration spring.cloud.gateway.services à partir du fichier de configuration application.yanl et l'analyser dans un objet serviceproperties
    step2 : Parcourir chaque microinstance dans serviceproperties et
    accéder à microinstance.instances via le get request of webclient Pour l'url de chaque instance dans , si une exception est levée ou si la valeur de retour est Bad, mettez la
    valeur available de l'instance à 0, sinon mettez la valeur available de l'instance à 1
    output: null
    """

Selon l'objet ci-dessus, vous allez générer le code Java correspondant selon la description métier suivante
1, le paramètre d'entrée de la méthode de représentation d'entrée
2, le processus de traitement spécifique de la méthode de représentation du processeur
3, le paramètre de sortie de la méthode de représentation de sortie
3, générer automatiquement la classe d'interface et la classe d'implémentation
Contrainte
1. Utiliser Spring Boot, Spring Cloud Gateway, caféine, goyave technology stack
2. Le chemin du package est com.example.gateway
"""


  • guavaconsistenthashservice : description de la classe :
    méthodes de service d'équilibrage de charge de hachage cohérent :
    cohérenthash :
    entrée :
    val :
    compartiments de chaîne : int
    processeur :
    étape 1 : utilisez Hashing.consistentHash() de guava pour calculer
    la sortie de hachage cohérente :
    index : int
  • consistentHashloadbalanceservice : description de la classe
     : équilibre de charge du service d'équilibrage de charge de hachage cohérent : entrée
    nulle : échange : ServerWebExchange microserviceinfo : processeur microserviceInfo : étape 1 : lire le hachage cohérent à partir de microserviceInfo, lire la demande à partir de hash cohérent, lire l'en-tête à partir de la demande, lire à partir de l'en-tête La valeur de la clé val step2 : Lire la valeur d'en-tête correspondant à val à partir de l'en-tête http étape3 : utiliser guavaconsistenthashservice pour calculer le hachage cohérent, renvoyer instanceIndex étape4 : lire l'instance correspondant à instanceIndex à partir des instances dans microserviceinfo, renvoyer la sortie de l'instance : instance : instance """










Logique métier (version 2)

Selon l'objet ci-dessus, vous allez générer le code Java correspondant selon la description métier suivante, où
1. id indique le point de fonction
2. processor indique le processus de traitement spécifique de la méthode
3. step indique les étapes spécifiques
Technology stack
1, botte printanière, passerelle cloud printanière, caféine, goyave
"""

  • Service de vérification de l'état : ID nul
     : vérifiez si l'instance est disponible
    processeur :
    étape 1 : lisez la configuration spring.cloud.gateway.services à partir du fichier de configuration application.yanl et analysez-la dans
    un objet serviceproperties
    étape 2 : traversez chaque micro-instance dans les propriétés de service
    étape 3 : traverse la microinstance dans la microinstance Chaque instance dans les instances
    step4 : Accéder à l'url de l'instance via la requête get du webclient. Si une exception est levée ou que la valeur de retour est Bad, le statut de l'instance est
    marqué à 0, sinon le statut est marqué comme 1
  • Service d'équilibrage de charge de hachage cohérent : null
    Description : Calculer le hachage cohérent
    Processus :
    étape 1 : Lire le hachage cohérent à partir de microserviceInfo, lire la demande à partir de cohérenthash,
    lire l'en-tête à partir de la demande, lire la valeur de la clé val à partir de l'en-tête
    étape 2 : Lire la valeur headervalue correspondant à val à partir de l'en-tête http
    étape3 : utiliser guavaconsistenthashservice pour calculer le hachage cohérent et renvoyer l'instanceIndex
    étape4 : lire l'instance correspondant à l'instanceIndex à partir des instances dans microserviceinfo et renvoyer l'instance
  • Service d'équilibrage de charge de hachage cohérent : ID nul
     : Calculer le processeur de hachage cohérent
     :
    étape 1 : Utiliser Hashing.consistentHash() de Guava pour calculer le hachage cohérent
    """

stratégie d'atterrissage

1. Exigences de vérification
2. Au début, les personnes concernées doivent vérifier les mots-clés pour entraîner l'exactitude de la description de chacun

Je suppose que tu aimes

Origine blog.csdn.net/wenxueliu/article/details/132130391
conseillé
Classement