zoukankan      html  css  js  c++  java
  • 讲一讲线程和类的关系,谈谈面向对象编程

    用自己的描述:

      视图层是一系列类的集合,这些类的实例引用了用户可见的那些实体。类中封装的代码和实例中的字段值可以告诉线程,线程应该按照什么样的效果显示图像,以及线程要监听什么样的事件。

      控制器层是一系列类的集合,这些类的实例引用了概念上定义的控制器实体。类中封装的代码和实例中的字段值可以告诉线程,线程应该在监听到什么样的事件发生后,去执行什么样的代码。

      模型层是一系列类的集合,这些类的实例引用了概念上定义的数据模型实体。类中封装的代码和实例中的字段值可以告诉线程,线程应该按照什么样的约束和方式来查询和更新数据库。

      不知道这样的描述,是不是比教科书上的“业务逻辑” “业务规则”之类的术语更加深入人心呢?哈哈。

         同样的道理,一个UIGestureRecognizer类中定义的代码,以及实例中的字段值,告诉了线程应该如何去接受一个用户手势事件。

    tip:这里顺带讲一句我对面向对象编程的理解:

    1、面向对象编程的实质是:如果线程想要访问和操作一个对象,最好的办法就是让对象自己来告诉线程应该怎么做!

    2、既然是引用,参数就要吻合。一个实例引用哪个实体是程序员来定义的,线程不可能知道这一点,所以程序员需要用代码告诉线程,线程应该随时保持实例的参数与实体的实际参数吻合。

    3、定义一个类的判据是: An instance of ClassName refers to an entity with class name. 例如: An instance of InputStream refers to an input stream, thought itself is merely a block in RAM or a record on disk. 

    tip:再顺带讲一句,架构设计中出现的每个模块都需要提供一些可以被外界接口,问题在于,这些接口是提供给谁的?可能你会回答是提供给其他类或函数。但这个答案不够准确!

    准确的答案是,提供给线程和程序员的。

    代码集是死的,线程才是活的,程序员也是活的。只有活的实体才能去主动调用接口,代码的作用只是告诉一个线程,线程需要去调用这个接口完成特定任务。

  • 相关阅读:
    子类调用父类被重写的方法
    Linux下编译出现undefined reference to ‘pthread_create’问题解决
    CRC校验8
    嵌入式C语言查表法
    Static关键字,遇到的问题_1
    java中方法的参数传递机制_一个对象被当作参数传递到一个方法后
    String使用equals和==比较的区别
    如何导入XML数据 (python3.6.6区别于python2 环境)
    0xx_PHP核心01
    PHP_MVC设计模式02
  • 原文地址:https://www.cnblogs.com/xinchrome/p/4904931.html
Copyright © 2011-2022 走看看