首页 > 编程语言 >python构建基于服务的架构

python构建基于服务的架构

时间:2025-01-09 14:47:46浏览次数:1  
标签:服务 架构 service python self 构建 services import def

我希望的基于服务的架构特征:

  • 可以在任何地方以方便的方式调用服务. 例如:
from services import service
service.sHelpler.run()
  • 服务之间可以互相调用. 比如服务A可以调用服务B的某个功能, 反之亦然.
  • 服务支持单例模式和多例模式
  • 支持服务的序列化
    之前有一篇博文python利用依赖注入实现模块解耦, 可以帮助实现这个架构.
    但是稍显复杂, 需要传入字符串形式的模块路径和类名.

替代方案

可以采用比较直接的方式, 把所有的服务对象集中到一个模块中, 如下所示:

from services.a import A
from services.b import B

class Services:
    def __init__(self):
        self.sA = A()
        self.sB = B()
    @property
    def mA(self)->A:
        return A()
    @property
    def mB(self)->B:
        return B()
    
service = Services()

然后, 在另一个模块中, 按需加载即可, 如下所示:

def service():
    from services.services import service
    return service

对于用户, 就可以使用这些服务了:

from xxx import service
service().sA.test()

标签:服务,架构,service,python,self,构建,services,import,def
From: https://www.cnblogs.com/huzhongqiang/p/18661808

相关文章

  • .NET Core:架构、特性和优势详解
    .NETCore:架构、特性和优势详解在软件开发领域,保持领先地位至关重要。随着技术以指数级的速度发展,开发人员不断寻求高效、可扩展且多功能的解决方案来应对现代挑战。.NETCore就是这样一种受到广泛关注的解决方案。在本指南中,我们将深入研究.NETCore的基础知识,探索其架构、功......
  • Python网络爬虫简介-科普版
    Python网络爬虫简介一、什么是网络爬虫网络爬虫(WebCrawler),又称为网页蜘蛛、网页机器人,是一种按照一定规则自动抓取互联网信息的程序。它通过模拟浏览器的行为,访问网页,获取网页内容,并将这些内容存储下来,以便后续分析和处理。网络爬虫广泛应用于搜索引擎、数据分析、信息采......
  • Three.js 数学工具:构建精确3D世界的基石
    文章目录前言一、向量(Vectors)二、矩阵(Matrices)三、四元数(Quaternions)四、欧拉角(EulerAngles)五、颜色(Colors)六、几何体生成器(GeometryGenerators)七、随机数生成(RandomNumberGeneration)八、时间和动画(TimeandAnimation)九、光线追踪与碰撞检测(RayTracingandCollisi......
  • 2025毕设python牙医诊所管理系统的设计与实现程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于牙医诊所管理系统的研究,现有研究主要以传统管理模式为主,专门针对基于Python的牙医诊所管理系统的研究较少。随着数字化时代的发展......
  • 湖北师范大学计信学院研究生课程Python程序设计实训第六周作业
    本周内容,还是使用湖师的风景图,将视频中所设计的图像处理方法进行一一实现。包括:颜色空间转换(灰度、BGR/RGB/HSV转换) 坐标变化(平移、旋转、镜像、缩放)    灰度变化(含伽马)    直方图   滤波(中值、均值、高斯)   锐化 importcv2importmatplot......
  • 湖北师范大学计信学院研究生课程Python程序设计实训第八周作业
    一.简答题(共1题)1. (简答题)请爬取几个主流招聘网站中的一个,对电子信息专业能应聘的岗位进行爬取,找出需求求职岗位最多的10个岗位和5个工作地点  将代码和爬取的网站结果一起打包上交。importrequestsfrombs4importBeautifulSoupfromcollectionsimportCounter......
  • 基于Python的酒店推荐系统
    系统展示用户前台界面管理员后台界面系统背景  随着旅游业的蓬勃发展,酒店行业迎来了前所未有的发展机遇。然而,面对众多的酒店选择,消费者往往难以做出决定,这不仅因为酒店数量庞大,还因为每个消费者的需求和偏好各不相同。传统的酒店推荐方式,如基于热门度或地理......
  • python毕设 新零售背景下半成品配菜平台程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于新零售背景下半成品配菜平台的研究,现有研究主要以新零售模式下的一般性商品销售为主,专门针对半成品配菜平台的研究较少。在当前快......
  • AI与药学:生成式人工智能如何帮助构建患者药品说明书?
    今天我们一起来研读下一篇AI药学论文《生成式人工智能构建患者药品说明书的方法研究》,详细探讨了如何通过生成式人工智能(GenAI)来构建适合患者的药品说明书,旨在提升患者对药品使用的理解和依从性,并促进合理用药。(关注公众号“赛文AI药学”,获取更多AI与药学内容)1.研究背景药......
  • Python 魔法学院 - 第06篇:Python 面向对象 ⭐
    目录引言1.类与对象1.1什么是类与对象?1.2类的定义与实例化1.3类与对象的内存结构2.继承与多态2.1什么是继承?2.1.1单继承2.1.2多继承2.1.3方法解析顺序(MRO)2.2什么是多态?2.2.1多态的实现2.2.2鸭子类型2.3继承与多态的内存结构3.特殊方法与运算符重载3.1......