zoukankan      html  css  js  c++  java
  • 三级架构,面向过程,面向对象—— 编程心得

    三层架构:编程的规范

    用户视图层:与用户进行交互,输入信息,打印信息的
    逻辑接口层:核心的逻辑程序,将信息进行逻辑处理,返回信息给用户视图层,调用数据处理层接口。
    数据处理层:对数据进行增删改查操作,以及保存更新
    
    三层架构要从 用户视图层 开始写。。。
    
    程序逻辑量大,要封装成接口,一些跟接口层无关的,又要有的接口,可以放到common公共接口中,因为它是三层都可以调用的。
    
    
    数据处理层,对数据进行增删改查,保存(更新)。处理数据,结合这几个方面进行设置接口,通常:
    
    select接口:    
        查:查找文件数据;    
        增,改:查找的同时,返回文件数据,得到文件数据就可以对数据进行修改。
    
    首先这个文件是存在的,所以,能够 查 的到,更能取得到 数据,进而 修改 数据。
    
    save接口:保存文件数据,更新文件数据
    修改文件之后要 及时保存数据;创建文件的时候 也要保存数据
    
    删:这个也可以封装,但是,目前还没用过,其实可以直接,,,os.remove()。。。
    

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

    首先,面向过程 和 面向对象 编程,是编程的两种思想,两种思路。它们不是固定的语法,而是思想。
    
    面向过程编程:
    
    顾名思义,面向过程编程,是流程化的编程,一件事需要很多步骤,我们可以将这些步骤一步一步去按顺序完成,把一件事,变成很多步去做,将问题简单化。也就是流水线的编程,但是,过程式编程可扩展性极差。
    
    面向对象编程:
    
    将需求中的 有一些相关性的数据属性和方法属性 封装起来,组成一个类,类实例化产生一个具体的对象。
    比如,狗类,把具有狗的特征的动物,分为狗类。它们都有相似的外貌,都会叫。
    在程序中,也有很多类,比如,字符串str类型,这也是一个类,一个字符串就是一个字符串类实例化的对象。
    在程序中,自定义一些类,将相关的数据和方法进一步封装起来,会使代码增加可扩展性,代码更清晰。
    
    当你想让某个对象,执行一个操作的时候,那你就可以调用,你之前封装在类中的方法了,而不是去找一个单独的方法,这时候这个方法是绑定给对象的,这个对象有这个方法。
    
    当定义一个类的时候,不用一次定义完,想不到的就在编程的过程中去加。
    
    然后,就是,类的继承,鸭子类型。
    
    类的继承:
    父类的属性,可以直接给子类用,子类不用定义可以用父类的,但是子类也可以将父类的方法,重新构建一下。所以,类的继承,增加了程序的耦合性,降低了可拓展性。
    所以,python推崇的是鸭子类型。
    
    鸭子类型:
    什么鸭子类型那?
    只要走起路来像鸭子,叫起来像鸭子,外貌像鸭子,那么它就是鸭子。
    是不是很高端,哈哈哈
    
    举个例子,Linux系统,强调一切皆文件。
    不管是cpu,硬盘,还是文件,它们都都有read和write的方法,即它们的都有读和写的方法。也就是说,不管你是CPU,硬盘,还是文件,我拿到你,不管三七二十一,直接调用read和write方法是没错的。
    因为它们的方法名字都一样,提供的接口都一样。我就可以这样用。
    
    所以说,鸭子类型,就是不管你具体是什么类型,我都可以用这个方法。这样就降低了程序的耦合性,增强了可扩展性。因为,每个类都有同样一个方法,不管哪个对象都可以调用。
    
    比如说,每个类的对象,都要保存,你可以在每个类里都定义一个,save方法,需要传入一个对象的name属性,所以说,每个类的name属性一定要定义成一样的名字,name,这都体现了鸭子类型的风格。
    
  • 相关阅读:
    Eclipse IDE及环境设置
    Spring3.X 配置Spring MVC 配置
    常用排序算法总结
    内存数据库
    mysql提高查询速度
    Linux下nginx编译安装教程和编译参数详解
    Mysql初始化root密码和允许远程访问
    GIS1
    ArcGIS Server分布式安装(转)
    COM
  • 原文地址:https://www.cnblogs.com/pythonwl/p/12693718.html
Copyright © 2011-2022 走看看