欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

本周小结 - 女儿2岁了还是要继续钻研技术

更新时间: 2015-05-03 00:00:00 责任编辑: Author_N13

 

1、用的是apache的httpclient包,发现发送POST请求后,报一个异常:
SocketException: Bad file number
造成这个的原因是,过早地执行了HttpPost.about();这个方法应当是在响应完全结束,不再需要之后才能调用

2、android自带一个layoutopt命令,可以对xml布局文件提出一些优化的建议

3、“面向对象”开发,只是“结构化”开发的延伸。结构化开发封装了一些公共的操作,称为函数。而“面向对象”则对数据也进行了封装,所以可以说是“结构化”开发方法的更进一步。

当然现在“面向对象”的开发思想是主流,但是也并不是绝对可以替代结构化开发,比如说对以下的代码
public void method(int i){
    switch(i){
        case 类型1:{}
        case 类型2:{}
        case 类型3:{}
        default:{}
    }
}

public void method2(int i){
    switch(i){
        case 类型1:{}
        case 类型2:{}
        case 类型3:{}
        default:{}
    }
}

这个就是典型的结构化编程
public class 类型1 extends 基类{
    public void method(){
        // TODO 做一些操作
    }
    public void method2(){
        // TODO 做一些操作
    }
}

public class 类型2 extends 基类{
    public void method(){
        // TODO 做一些操作
    }
    public void method2(){
        // TODO 做一些操作
    }
}

这个是面向对象的编程

这2种方式其实各有好处,要看具体的场景。

如果是需要增加一个类型的话,那么结构化编程就不方便了,因为在method1()和method2()里都需要加入类型判断的语句,增加一个类,需要改动N个地方(如果有N个方法的话),在这种情况下,当然是面向对象的编程方式要好很多,只需要增加一个子类就可以了

但是如果是需要增加一个方法的话,反而是面向对象的编程方法更麻烦。因为在结构化编程中,只需要增加一个method3()就可以满足需求了,只有一个地方需要改动。而在面向对象编程中,每一个子类都需要改动。

所以,并不能说面向对象一定比结构化就好,因为面向对象不是银弹,只是结构化编程思想的延伸。具体优劣,取决于具体的场景

4、Json中的元素,是JsonElement,又具体分为JsonObject、JsonArray、JsonPrimitive和JsonNull

在JAVA中,JsonObject对应于对象和Map数据结构,JsonArray对应List、Collection、Set、[]等数据结构。JsonPrimitive就是基本数据类型,包括String、int、double等,JsonNull就对应null

5、把字段和getter方法隔离确实是有好处的。这次项目中,本来有一个字段叫做name,对应的getter方法就是getName()。可是后来为了json解析方便的需要,要把name改成siteName,如果没有getter方法的话,那所有的地方都要改动,那就太糟糕了。幸好有getter方法,只需要在方法内部改成
return this.siteName;

则所有的地方都不用改。最简单的getter方法,在这个时候就显得非常有用了

6、很多开源框架,都是在一个工程里开发编译,然后对外发布jar包的时候,拆分成多个jar包发布。比如logback,发布了logback-core.jar和logback-classic.jar;spring更是这样,拆分了10多个jar包出去
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2015-05-03 00:00:00
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/1491977/
本文WWW.DOC100.NET DOC100.NET版权所有。