接口获取行政区划代码_一种较为优秀的接口开发方式----面向对象编程

ff33c80f3b5e9f3470f00f5d0a496c16.png

本文为在开发过程中进行的思考,通过在开发过程中发现的接口更好的开发方式,总结成技术分享分享给大家,使大家在开发过程中能够更好的运用面向对象编程的思维。

面试中面试官会问到,什么是面向对象编程,你肯定会回答封装继承多态

说实话,封装继承多态,虽然只有 6 个字,但是很多写代码写到转行都没有理解。

面试官这么问你,肯定不是仅仅想听你说出这三个词,而是想看看你是否真的理解面向对象的思想,考察的是遇见问题时候如何面向对象分析问题,抽丝剥茧,把业务理清,建立模型及接口,最终把复杂问题条理清晰的分解为一个个较为简单的且有意义模块,再用一行行的代码实现这些模型,解决问题[1]

本文为我自己在开发过程中对接口开发方式的思考,以及引入了面向对象编程的开发方式。

一种较为优秀的接口开发方式----面向对象编程

举例: 我们在开发**活动中

需要开发两个接口

  1. 获取用户步数
  2. 用户使用/获得步数

一般面向过程编程开发方式为写两个接口,在common文件中创建两个函数,各用于获取用户步数与用户使用步数

def get_user_step(user_id):
    # 1. 获取用户步数
    # 2. 返回
​
    
def operate_user_step():
    # 1. 获取用户步数
    # 2. 操作用户步数
    # 3. 返回

但在长期的开发过程中,这种方式有两个弊端

  1. 冗余代码(如重复的获取用户步数操作)
  2. 维护时文件函数过多不方便查找

但我们如果使用一种 面向对象编程的开发方式(设计模式)

则可避免这一点

将用户步数视为一个“对象”

所有操作都为对这个对象进行操作

class Step():
​
    """
    奖品对象,完成两个功能
    1. 获取用户步数
    2. 向前走,消耗步数
    3. 增加用户步数
    """
​
    def __init__(self, user_id):
        # 获取用户步数
​
    @property
    def get(self) -> int:
        return self.step_count
​
    def operate(self, _type: str) -> bool:
        """
        :param _type: "USE" 消耗步数 "ADD" 增加步数
        :return:
        """
        # 操作用户步数
        return True

其中该对象在获取步数操作步数的时候

获取用户当前步数的代码会在对象实例化的时候进行查询

从而成为对象的公共属性

我们在进行获取与操作步数的时候不用重复这一段代码

在维护代码的同时,需要操作步数时,只需要到对应的对象下去看

优势在于:

  1. 我们在接到需求时,我们可以通过需求来创建若干对象,所有接口所实现的功能均基于四个对象处理,方便开发,方便维护
  2. 对每个对象实现不同方法,用于满足需求
  3. 对象也可以做数据库事务查询,维护数据统一性

参考

  1. ^引用于v2ex https://www.v2ex.com/t/570873#reply30
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值