• 我们需要的不仅仅是具体的完成。[学习类、接口感想]


    今天看到一个同事写了一段代码:
    ArrayList a =new ArrayList;
    Logitisc.Package p=new Logitisc.Package;
    a.Add(p)
    object h=new object();
    Foreach (h in a)
    {
        if (h==p)
         ///
      else
      ///
    }

    大吃一惊,他把一个(物流系统)包的对象存储在a这个arraylist里面去了,
    我仔细一看arralist帮助发现,arralist支持将一个对象加入,
    以前我一直以为只能加入string,现在才明白string也是一个对象的说法。
    然后,他告诉为什么他要这么作,

    因为一个包对象下面有小包,小包里面还有物品,
    发货的过程就是,
    把物品包装成小包,小包组合成大包。

    比如:
    库房 库房a=new 库房()
    Package p=new Package();
    goods g1=new goods();
    goods g2=new goods();
    p.add(g1);
    p.add(g2);
    库房a.add(p);

    这就是一个库房保存物品的模型。

    你看这样的过程通过对象描述多么清晰。

    所以,一直有人提倡我们在定义模型的时候,抽象一些,再抽象一些,
    首先,不要考虑实现,一旦考虑实现后,就不可避免的纠缠在细节上面,
    往往忽略对整体的考虑。


    过程和对象的主要区别在于思想差异,而非具体完成的代码。

    类是对应现实生活中的模型。
    而且在完成类的定义的时候一定要按对象模型来定义,而不要局限语言的定义,
    不要怕具体语言完成不了。
  • 相关阅读:
    使用javaDate类代数据仓库维度表
    Hermes和开源Solr、ElasticSearch 不同
    MapReduce 异常 LongWritable cannot be cast to Text
    吐槽CSDN编辑
    Codeforces 452A Eevee
    看不清楚未来,请做好如今
    JDBC数据库连接
    mixpanel实验教程(2)
    使用jquery+一般处理程序异步载入信息
    Eclipse中的Maven项目报Unbound classpath variable错误
  • 原文地址:https://www.cnblogs.com/king_astar/p/5671.html
Copyright © 2020-2023  润新知