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

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

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

  • 相关阅读:
    欧拉计划之题目7:找出第10001个质数
    DShow实现一个avi视频的播放(含有个人解释和注释)
    DirectX 9 SDK安装后在vs2010里编译BaseClasses出错问题解决方法
    C#内存占用大量资源的解决办法
    C#读写ini文件操作
    【Java】编程技术经典书籍列表
    【数据库_Mysql】查询当前年份的sql
    【数据库_Mysql】MySQL动态语句 if set choose where foreach trim
    【JavaScript】20款漂亮的css字体
    【数据库_Mysql】<foreach>标签在Mysql中的使用
  • 原文地址:https://www.cnblogs.com/xinchrome/p/4904931.html
Copyright © 2011-2022 走看看