Implémentation idiomatique des hiérarchies structurelles complexes dans go
go L'utilisation par le compilateur Go des méthodes vides dans son implémentation AST a soulevé des questions sur son efficacité. Interface, garantissant que les types incompatibles ne peuvent pas être attribués les uns aux autres. champs et méthodes, créant une forme d'héritage. En incorporant les structures appropriées de manière hiérarchique, nous pouvons réduire le besoin de méthodes vides.
Hiérarchie à moments immoables de l'objet
--Immeuble ----Bâtiment ----Montagne --Mobile ----Voiture ---- Bike
Type d'interface immobilière { Objet immeuble() } Type IMMOVableImpl Struct { ObjectImpl // Implémentation d'objet intégré } func (i * IMMODableIMPl) Immoyée () {}
Implémentation de construction:
Type Building Struct { ImmacableImpl // Implémentation immobile intégrée // champs supplémentaires spécifiques au bâtiment }
implémentation mobile:
Object --Immovable ----Building ----Mountain --Movable ----Car ----Bike
implémentation de la voiture:
type Object interface { object() } type ObjectImpl struct {} func (o *ObjectImpl) object() {}
Exemple USAGE:
type Immovable interface { Object immovable() } type ImmovableImpl struct { ObjectImpl // Embedded Object implementation } func (i *ImmovableImpl) immovable() {}
Avantages de l'intégration:
type Building struct { ImmovableImpl // Embedded Immovable implementation // Additional Building-specific fields }Nombre de méthodes vides, conduisant à un code plus propre et plus simple. Types, simplifiant l'implémentation.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3