zoukankan      html  css  js  c++  java
  • 我们需要的不仅仅是具体的完成。[学习类、接口感想]

    今天看到一个同事写了一段代码:
    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);

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

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

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


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

    类是对应现实生活中的模型。
    而且在完成类的定义的时候一定要按对象模型来定义,而不要局限语言的定义,
    不要怕具体语言完成不了。
  • 相关阅读:
    netty内存泄漏
    Java并发编程:CountDownLatch、CyclicBarrier和Semaphore
    java 容器结构
    c3p0 一个数据库链接的例子
    eclipse java MemoryAnalyzer 查询内存泄漏 环境配置
    Java中数据库连接的一些方法资料汇总
    java io流
    MySQL的几个概念:主键,外键,索引,唯一索引
    mysql 一些常用指令
    mysql only_full_group_by问题
  • 原文地址:https://www.cnblogs.com/king_astar/p/5671.html
Copyright © 2011-2022 走看看