• 讲一讲线程和类的关系,谈谈面向对象编程


    用自己的描述:

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

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

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

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

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

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

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

  • 相关阅读:
    系统数据查询耗时优化解决方案
    Mybatis逆向工程
    微服务架构下的分布式数据管理
    分布式或微服务架构中的分布式锁应用
    word 常用宏代码
    office2003?2007共存?版本各自打开的解决方案
    word域3
    2014新版《安全生产法》测试题
    Excel与Word套打功能使用技巧及EXCEL数据处理成绩
    word域2
  • 原文地址:https://www.cnblogs.com/xinchrome/p/4904931.html
Copyright © 2020-2023  润新知