`
chandler
  • 浏览: 81540 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

编程总结(一)

阅读更多

6。接口和虚拟类

        其实最早接触虚拟类或者接口。我一直觉得相当的麻烦。特别是那些UI的监听的接口。不过那些接口,忘的都差不多了。所以举例子也举不出好的。反正当初看到为了监听一个事件。写一个类,继承其接口,只写其中一个方法,然后其他都放空。看起来心里就觉得毛毛的。很不舒服。

        但是写多了。特别是最近,自己在写一个淘宝的小应用,需要自己来整理很多业务逻辑。渐渐的,发觉接口的作用,其实不在于编程(以前听说接口的作用在于安全,但是说句实话,我想不通),而在于清晰的逻辑。至少我现在的认识是,接口是需求和实现的分离。

        这说的有点抽象,因为如果一个程序从头到尾的都是你来写的时候,是很难把需求和实现分开的。起初我就是这样。打个比方来说,如果过年,某某家里美酒了,让你去买酒。这是需求。但是作为一个实现这个需求的你,你需要考虑很多东西。比如说去哪里买,带多少钱……如此总总,简单的事情是很难分清的。如果复杂一点,比方说要你准备一桌年夜饭。这是一个总需求,然后细分到每道菜,每道菜都是一个小需求。而做每道菜,这也许是一个个实现。但是搅在一起时,如果不去刻意的划清界限,真的很难分清什么是需求,什么是实现了。

       而接口的作用正好是在这里,因为接口只能提供需求的描述,你一般不会在接口当中写实现方法。从内部来看,接口和类,没什么区别。但是从外部来看,有了接口,就可以把你的程序看成是一个黑盒。接口只是提供一张单子,单子上面写上一些这个盒子能给你提供的哪些功能。

 

5。关于封装的一点想法。

       query(uri, projection, selection, selectionArgs, sortOrder) 这是一句android中的sql查询接口。我在使用中,需要把这句封装起来。提供一些我需要的Dao方法给外部调用。

       起初,我把这些封的很干净,大抵只是getXX()这种(XX)是我内部自己的类。然后接触底层都是private共用方法。用起来之后觉得很麻烦。怎么说呢,几个Private方法很累赘。同时呢,几个get方法,里面也有很多重复的代码,比如说关闭Cursor,每添加一个简单的get方法,都需要写很多,。觉得很不舒服。后来我就直接提供个listXX(uri, projection, selection, selectionArgs, sortOrder)这个方法,这个方法就做两件事情,抽取Cursor,然后组装成自己的类,然后其他get方法都是调用这个方法。就简单很多。

       后来想想,其实共用的api。封装的已经算是简洁了。至少比我这种初级程序员的封装要好的多。何必自做聪明的继续把其封装起来呢?其实我有时候,所能做的,只是提供一些常用的方法而已。

 

1.后台数据和前台交互的数据,尽量的使用Josn

今天碰到了一个问题。前台用Jqgrid展示数据。后台生成的是XML格式的数据。结果碰到一个很麻烦的事情,特殊符号“&。其实这个符号挺常用。但是这在xml中,这是一个特殊的字符。能够转义<![CDATA[]]>,不知道为什么IE总是不认。但是发觉jqgrid中,不会把其转回来。最后的处理结果很讨巧。把&转成了“and”。

这是一个很狼狈的举措。相对于json来说,xml要有很多限制。但是我一直觉得xml很漂亮,json太简陋,经过这次的经验之后,觉得,凡事还是挑选简单的方式比较好。

 

2.LinkedList

      只是对Api了解一下。知道了peekpollLastfirst之分。其实很早就知道有这个区别。但是不知道这个区别具体在哪里。这样Linkedlist可以模拟栈和队列了。

 

3。在进行大规模的字符串拼接的时候,应该使用StringBuffer或者StringBuilder。效率会高很多。前者是线程安全的。

 

4。接口心得:其实以前都很不喜欢用接口。但是最近发觉,用接口,能够很好的起到解耦的作用。比方说对象A,有两个属性a,b。如果我另一个类只要用到a,那么写个接口。让其设计a就ok了。好处就是,下一次再如果要有类B。那么也可以用在这里。

0
0
分享到:
评论

相关推荐

    VC++数据库编程总结

    【VC++数据库编程总结】 在IT领域,尤其是软件开发中,数据库编程是不可或缺的一部分,尤其在使用VC++作为开发工具时。VC++可以与多种数据库系统进行交互,如SQL Server、Oracle等,通过不同的访问技术实现数据的...

    编程经验总结—一个程序员的经验

    这篇名为“编程经验总结”的文章,无疑是这位程序员将自己多年的心得体会提炼成的一份珍贵指南。下面,我们就来详细探讨一下这个主题中的关键知识点。 1. **代码规范**:良好的编程习惯始于代码规范。遵循一定的...

    VC编程经验总结

    "VC编程经验总结"是一个珍贵的资源,它涵盖了开发者在实际工作中可能遇到的各种问题及其解决方案。这个压缩包包含了一份HTML文档"阅读器下载.htm",可能是一个在线阅读器或者相关工具的下载链接,用于更好地查看和...

    C++网络编程总结报告

    【C++网络编程总结报告】 本报告主要针对C++网络编程进行总结,旨在为学习者提供参考和方便。网络编程是计算机科学中的一个重要领域,它涉及到通过网络进行数据传输和通信的应用程序开发。C++是一种强大的编程语言...

    总结java_socket编程.doc

    Java Socket 编程总结 Java Socket 编程是Java语言中用于网络编程的主要技术之一。它允许开发者创建网络应用程序,通过Socket实现客户机/服务器结构的通信。在Java中,Socket编程主要是基于TCP/IP协议的网络编程。 ...

    Access数据库和VBA编程总结.pdf

    "Access数据库和VBA编程总结" 本文档为Access数据库和VBA编程的总结,涵盖了关系运算符、逻辑运算符、条件语句、循环语句、比较大小、金字塔和加密等多个方面的知识点。 关系运算符是Access数据库中一种基本的...

    程序员编程好习惯总结

    程序员编程好习惯总结 程序员在编程过程中需要遵循一些良好的习惯,以提高代码质量、提高工作效率和降低错误率。本文总结了15条程序员编程的好习惯,涵盖了编程设计、代码编写、版本控制、代码优化、代码维护等方面...

    TCP/UDP编程总结

    1. **TCP与UDP的基本特性**:TCP是一种面向连接的、可靠的协议,它通过序列号、确认应答、重传机制等确保数据的无错传输;而UDP则是无连接的、不可靠的协议,不保证数据的顺序和完整性,但具有较低的延迟和更高的...

    VC界面编程宝典(界面编程总结)

    自绘菜单的实现,在VC中透明浮动按键的实现,用VC设计托盘图标程序,图像平滑滚动效果的VC实现,利用钩子实现菜单阴影效果,在VC下显示JPEG、GIF格式图像的一种简便方法,制作 MSN、QQ 的消息提示窗口,VC编程中如何...

    Unix 脚本编程总结与应用实例及其他内部资料

    首先,标题中的"Unix 脚本编程总结与应用实例"表明我们将关注于编写和应用Unix shell脚本。Unix脚本是基于Bourne shell或其变种(如bash、ksh、csh)的文本文件,其中包含可执行的命令和控制结构。这些脚本可以用于...

    C#编程知识点总结11-20C#编程知识点总结

    10. **UI设计:使两个文本框看起来像一个**(《编程知识总结》8—使两个文本框看起来像一个.txt) 这可能是关于UI设计的一个话题,虽然C#本身不直接提供这样的功能,但使用Windows Forms或WPF,开发者可以通过调整...

    UC编程技术总结UC编程技术总结

    UC编程技术总结是一种编程技术的总结,这种技术涉及到静态库和共享库的生成、使用、连接等过程,同时也涉及到内存管理、虚拟内存管理技术等方面。 一、静态库和共享库 静态库和共享库是两种不同的库类型。静态库...

    VC编程经验个人总结

    个人关于VC编程的一些经验总结,写的不是很好,有一些例子在上面,对初学者或许有点帮助。高手的话应该不值得一看了。

    C语言编程精粹 多年编程经验的总结

    作为一本经验总结的书籍,作者很可能会分享一些高级主题,如位运算、多线程编程、系统调用,甚至可能会涉及一些C语言的陷阱和常见误区,帮助读者避免在编程过程中走弯路。 通过反复阅读和实践《C语言编程精粹》,...

    对于ISP编程进入不了编程模式的总结

    ### 对于ISP编程进入不了编程模式的总结 在进行ISP(In-System Programming,即在线编程)操作过程中,经常会遇到无法进入编程模式的情况,尤其是在使用像智峰软件zf-007系列这样的下载器时更为常见。本文将针对ISP...

    python少儿编程总结的程序

    这个“python少儿编程总结的程序”集合了50个课程案例,是为Python1级考试准备的,这些课程通常会涵盖基础的编程概念,如变量、数据类型、条件语句、循环、函数以及简单的算法。知名公司的内部程序和VIPCODE这样的...

    编程基础面试题总结

    编程基础面试题总结 title:编程基础面试题总结 面向对象编程和面向过程编程是两种不同的编程思想。面向过程编程是一种结构化编程思想,将大的任务分解成小任务,每个小任务由函数实现。程序包含两类基本元素:...

    C#编程知识点总结51-60C#编程知识点总结

    LinkLabel控件在《编程知识总结》47—LinkLabel.txt、《编程知识总结》48—使用LinkLabel控件链接到另一个窗体.txt和《编程知识总结》44—winform中linkLabel的用法(示例).txt中都有提及。LinkLabel是Windows Forms...

    编程总结年终范文.docx

    【编程年终总结】 作为一名程序员,过去的一年里,我深感在软件研发、团队协作和个人成长方面的诸多收获。以下是对这些方面进行的详细总结: **软件研发** 在asp开发方面,我经历了从基础到深入的过程。之前仅...

Global site tag (gtag.js) - Google Analytics