深入理解Apache Mina (1)---- Mina的几个类
2009-09-16 00:00:00 来源:WEB开发网法。在此处,IoService的getDefaultConfig()方法在BaseIoService(BaseIoAcceptor
是BaseIoService的子类,但它也是一个抽象类,所以它也没有实现getDefaultConfig()),
getDefaultConfig() 是 由BaseIoAcceptor的子类们来实现的(如SocketAcceptor,这是一个
具体实现类)。所以接口的所有方法必须被具体的实现类实现和抽象类在实现接口的时候可以部分
或者全部实现接口中的方法是不矛盾的。
2)注意代码的重用。在面向对象的编程语言中都提供了抽象类和接口,抽象类和接口最大的区别
就是抽象类提供了方法的具体实现,供其子类来调用;而接口只是提供了对方法的声明,其方
法的实现要由其具体实现类来做。在Java中一个子类只能有一个父类,但是却能实现多个接口。
个人认为接口和抽象类各有特色,接口的使用比较灵活,不同的接口可以让其子类扮演不同的角
色,侧重于类的复用,在很大程度上解决了代码复用的问题;抽象类更侧重的是方法的复用,某
种意义上讲,抽象类的使用对于程序来说使用起来更加轻松,但是是使用抽象类还是接口要根据
具体的情况而定。
对于接口和抽象类的具体的用法请参考闫宏的《Java与模式》中相关部分的讲解。
之所以在这里罗列这么些问题,目的不仅仅是为了讲解Mina的原理,而是想从一个高的角度来看待的这个经典的开源项目,通过对Mina的学习和理解,能够真正的懂得什么是一个项目,什么是面向对象编程,更本质的东西是怎么灵活运用 Java来达到上面的两个目的。这个才是最重要的,哪怕是你在看完本文后对Mina的理解还是有点模糊,但是你至少要知道在编写一个程序的时候怎样从面向对象的角度上去思考一个问题,而不是在用着面向对象的语言写着结构化的程序。这些东西都是自己做开发这么长时间的一些心得,在这里总结出来,目的主要是用于交流和学习,不是在卖弄,只是想让更多的初学者少走一些弯路,懂得学习的方法。
- ››apache设置域名绑定 以及绑定不起作用的排查
- ››apache rewrite将指定URL转向指定的几个服务器
- ››apache配置文件httpd.comf部分参数说明
- ››Apache+Mysql+PHP+phpMyAdmin+Mac OS X 10.7 Lion...
- ››深入理解JAR包
- ››apache+tomcat负载均衡_项目实例
- ››apache mysql php 源码编译使用
- ››深入分析Volatile的实现原理
- ››深入理解Flash Player的应用程序域(Application ...
- ››深入理解flash函数(AS2)
- ››Apache添加mod_aspdotnet.so支持ASP.NET配置指南
- ››Apache中改变php.ini的路径
更多精彩
赞助商链接