Hi!请登陆

第63p, 知识总结与实战: 开发一个简单的ATM取款机(中)

2020-11-14 36 11/14

大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第X篇文章,第三阶段的课程:Python进阶知识:知识总结,用前面写过的项目写一个简单的ATM取款机(中)。

一、用户视图层的方式选择

用户视图层是客户最直接看到的内容,对于大多数客户而言,他们不懂代码也不懂编程;他能看到的就是这个界面好不好看、使用起来卡不卡、这个功能是不是非常复杂;

所以,我们一般有两种方式制作用户界面:

1、采用BS架构的方式

BS架构中B表示客户端(即浏览器),S表示服务端(即服务器);BS架构的重点在于B端是标准化的;

2、自己开发用户界面

我们可以使用Python中的GUI(如Tkinter、Flexx之类)搭建独属于自己的功能界面;

3、程序员的方式表达用户界面

程序员的表达方式就是:命令行式界面。

插一句:

不是说只有两种吗?怎么会有第3 种?

因为大多后端程序员本身就比较懂代码,更多时候是看代码的效率和逻辑,前端界面好不好看不重要;(不好看的话,找UI、找前端呗!!!)

为了偷懒,我这里采用第3种方式执行。

我们知道,编程的方式有面向过程编程和面向对象编程,我们在开发ATM取款机的时候,先用面向过程的方式写一个简单的功能,再用面向对象的方式去开发;两种方式进行对比,大家能感受到两种编程方式的优缺点。

二、用面向过程的方式写程序

我们可以用户的角度来一步一步编写代码,先完成一个简单的登陆功能。

1、客户使用ATM取款机,会有一个欢迎的界面;

2、客户将银行卡放入ATM机,输入密码,要判断客户的账户和密码是否正确,会进行以下步骤:

①前端将客户的账户名称和密码通过加密传输到后台(逻辑处理程序);

②后台程序会根据账户名去数据库中读取账户信息,如果账户不存在,则返回账户不存在,(如果是网站的话,会返回一个注册页面);

③后台程序会根据账户名去数据库中读取账户信息,如果账户存在,则校验密码,如果密码不正确返回“密码不正确的信息”(ATM机还会记录密码错误的次数,这里就不展开);如果密码正确,才返回登陆成功的信息,并返回一个功能页面,让客户选择下一步的操作;

根据这个流程,我们使用的代码如下:

通过上面的案例,我们知道:面向过程的编程方式比较适合一些非常小型的项目,比如开发一些小脚本之类的;如果开发比较复杂的项目,使用面向过程的方式编程,会产生重复造轮子的情况(即:一些功能前面已经写好了,后面的代码需要使用的时候又要重新写)。

相关推荐