三级架构,面向过程,面向对象—— 编程心得

三层架构:编程的规范

用户视图层:与用户进行交互,输入信息,打印信息的
逻辑接口层:核心的逻辑程序,将信息进行逻辑处理,返回信息给用户视图层,调用数据处理层接口。
数据处理层:对数据进行增删改查操作,以及保存更新

三层架构要从 用户视图层 开始写。。。

程序逻辑量大,要封装成接口,一些跟接口层无关的,又要有的接口,可以放到common公共接口中,因为它是三层都可以调用的。


数据处理层,对数据进行增删改查,保存(更新)。处理数据,结合这几个方面进行设置接口,通常:

select接口:    
    查:查找文件数据;    
    增,改:查找的同时,返回文件数据,得到文件数据就可以对数据进行修改。

首先这个文件是存在的,所以,能够 查 的到,更能取得到 数据,进而 修改 数据。

save接口:保存文件数据,更新文件数据
修改文件之后要 及时保存数据;创建文件的时候 也要保存数据

删:这个也可以封装,但是,目前还没用过,其实可以直接,,,os.remove()。。。

面向过程编程 和 面向对象编程

首先,面向过程 和 面向对象 编程,是编程的两种思想,两种思路。它们不是固定的语法,而是思想。

面向过程编程:

顾名思义,面向过程编程,是流程化的编程,一件事需要很多步骤,我们可以将这些步骤一步一步去按顺序完成,把一件事,变成很多步去做,将问题简单化。也就是流水线的编程,但是,过程式编程可扩展性极差。

面向对象编程:

将需求中的 有一些相关性的数据属性和方法属性 封装起来,组成一个类,类实例化产生一个具体的对象。
比如,狗类,把具有狗的特征的动物,分为狗类。它们都有相似的外貌,都会叫。
在程序中,也有很多类,比如,字符串str类型,这也是一个类,一个字符串就是一个字符串类实例化的对象。
在程序中,自定义一些类,将相关的数据和方法进一步封装起来,会使代码增加可扩展性,代码更清晰。

当你想让某个对象,执行一个操作的时候,那你就可以调用,你之前封装在类中的方法了,而不是去找一个单独的方法,这时候这个方法是绑定给对象的,这个对象有这个方法。

当定义一个类的时候,不用一次定义完,想不到的就在编程的过程中去加。

然后,就是,类的继承,鸭子类型。

类的继承:
父类的属性,可以直接给子类用,子类不用定义可以用父类的,但是子类也可以将父类的方法,重新构建一下。所以,类的继承,增加了程序的耦合性,降低了可拓展性。
所以,python推崇的是鸭子类型。

鸭子类型:
什么鸭子类型那?
只要走起路来像鸭子,叫起来像鸭子,外貌像鸭子,那么它就是鸭子。
是不是很高端,哈哈哈

举个例子,Linux系统,强调一切皆文件。
不管是cpu,硬盘,还是文件,它们都都有read和write的方法,即它们的都有读和写的方法。也就是说,不管你是CPU,硬盘,还是文件,我拿到你,不管三七二十一,直接调用read和write方法是没错的。
因为它们的方法名字都一样,提供的接口都一样。我就可以这样用。

所以说,鸭子类型,就是不管你具体是什么类型,我都可以用这个方法。这样就降低了程序的耦合性,增强了可扩展性。因为,每个类都有同样一个方法,不管哪个对象都可以调用。

比如说,每个类的对象,都要保存,你可以在每个类里都定义一个,save方法,需要传入一个对象的name属性,所以说,每个类的name属性一定要定义成一样的名字,name,这都体现了鸭子类型的风格。
原文地址:https://www.cnblogs.com/pythonwl/p/12693718.html