论坛首页 入门技术论坛

高手问答:Java老A带你全面提升Java单兵作战能力!

浏览 34888 次
精华帖 (2) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2014-10-10  
lufing 写道
楼主很有魅力啊 书刚刚已经拍下 楼主有没有什么技术交流群之类的?



有不少是公司内部的,有一些是公司外部的,大多是参与性质。自己创建的也不算技术交流群吧,就是这本书的一些疑问啥的在这个群里面都会反馈给我:97751832
0 请登录后投票
   发表时间:2014-10-14  
xieyuNL 写道
sully_2008 写道
在阅读样章,听说有书送,求书,不过看完觉得不错没送也会掏钱买



这个我在问下出版社同学是否还有量,你可以先私信我下,大量送的话出版社的同学也招架不住,呵呵!


楼主,私信见地址,哈哈
0 请登录后投票
   发表时间:2014-10-16  
xieyuNL 写道
LinApex 写道
看完了,建议将 沉淀,累积,单独整理成一个章节。如何分类,有哪些知识点,沉淀技术分几级等等。

技术的话,只要能够静心下来,去研究,去发现,那是极好的。但是最终还是为了能够解决问题,解决公司的问题,解决自己的工作问题,解决房子,车子的问题。要不然做学术研究是养不活自己的。

技术首先能看懂,然后能用,然后优化,最后才是原理。一步步深入,以点破面就很好。技术不钻牛角。

作者将知识点整理出来,感谢作者。最好多出些小实例,方便记忆与理解。以demo说话。

看了作者的个人说明,知道了作者懂很多东西,我有几个问题。
1.java如何做快速开发
2.你如何看待快速开发平台这一系列产品
3.异构系统权限交互



感谢您的理解,我大部分初衷确实如此,其实不是以讲解知识为重点,而是通过说一个点带面,让我们形成一种探讨问题的习惯和方法,让我们理解很多东西并不是我们表面上看到的那样,可以让我们提前预知到很多坑,以及为什么。

关于你的问题,上册不会提到,因为上册都是探讨一些技术的点,只是我认为一个Java程序员的基础应该去学习的方向,有些阐述我也未必到位,未必正确,不过大家都在不断学习和进步。下册会有一些介绍,但没有专门的快速开发相关的书籍。

其实就快速开发本身来讲,要看你做什么样的东西,或者你的目标是什么,短期和长期目标是什么。如果仅仅是为了快速迭代,有问题解决问题,有功能就往上堆的方式,这个怎么做都能快,而且不用选Java,因为Java搞环境麻烦。还有要看你是想以项目做还是做一个相对长远的产品规划,某些点上的慢可能会导致整体上的快,快不一定是好事,快中求到稳、准、狠的才是高手。给别人演示原型系统可以做到快,说明我们又能力开发并按期完成。但是真正的产品该快的地方要快,该慢的要慢,尤其是在思考一些方向和抽象功能模型、代码模型的时候最好有点思考的余地(如果业务较为简单除外)。

在单个模块的开发上,其实配合开发是最快的,Java的开发通常要么按照模块,一个人从前到后搞到底,要么是一个人与业务相关的处理,一个人处理交互,一个人处理数据,可能会有一些合并或更多复杂的情况,后面这种情况十分适合敏捷开发,因为相互配合,专注与自己的代码,可以让这层次代码风格统一,而且在编写过程中思路单一,如果几个人配合较好,一个普通的业务,花一点点的时间稍微商量下就可以快速开发出来,而一个人搞模块会不断切换思维做交互、业务、数据等方面的事情,因为每一项处理的思维方式和所使用到的技术手段都有所区别,并且各个模块之间的开发者有复用关系很难沟通到位,除非上面还有一个更高级别的程序员统一控制这个事情。

我说的开发方式似乎可以,不过也未必哈,这样开发的前提是这些人相互之间配合有一种默契,并且能力相当,还有一个更为重要的条件是大家对相关的业务也了解不错,如果要去完成一种新的复杂业务或核心代码的编写,这个是有一个强依赖关系的。在这个时候其它开发人员不希望强依赖,可以先基于接口或单独的方法返回一些常量用以代码运行,这个常量的对象格式可以预先预定,就像定义接口的输入输出那样,在核心代码开发OK后,就可以将接口的实现类动态接入了(刚开始就是写个default就可以)。写一层写久了开发人员也烦,觉得自己较为狭小,还得考虑他们的个人发展,从点和面上都要考虑下,不然他们没成长跑掉一个,新找来一个人这种默契配合是很难养成的。

快速开发平台,所谓平台最后会做成一个功能堆叠区,这种就是按照功能分的,什么人都可以上来开发,但是各种各样的诡异都会有,虽然依赖性可能不会那么强。功能没有抽象的话,说他是平台是好听的说法,不好听连产品也算不上,呵呵,因为没有明确的定位和方向,举个软件的例子,MySQL、Oracle它本身就是一款软件,它的目的很清楚就是为了数据库存储,它在为这个努力,不论有多少功能,你可以看他没有重复类似的东西,会让你感觉整体这个产品功能比较清晰,虽然很复杂。你要生产一个电脑也是这样,电脑也是一个产品,它里面的主板、CPU、内存各方面可以迭代升级,但是是有规划的,也是有清晰目标的,它也会开发周边插口,用以外部支持,就像10年前应该没啥USB口,后来USB大量使用,新的电脑都会有USB口,但是老的电脑不会去钻个孔去搞个USB扣,也不会在主板上面去焊一个线路去对接一个线路。外部的系统你可以来接入通信,不过满足通信规范,如果不满足,我可以生产一个转换口来转换,但是这个转换口绝对不是产品的发展主体,当这个转换口成为日常习惯,就会考虑将这个口子直接放在主板上。纵观JVM的许多发展集成越来越多的功能,版本升级也是类似的。

当然,当项目做和当产品做是完全不同的,行业产品也会跟着本地需求走,但如果被牵着鼻子走,就只是卖人力了。但是,很多未知领域其实并没有行业规范也不知道它会朝着什么方向去发展的时候,其实我们很难将它产品化,因为刚开始大家都不知道会把它做成什么样子,这个时候就必须要有“炮灰”,大家可能会根据自己的理解去尝试,可能有很多尝试最终有一个是被认可的,这就是一些新东西,这在很多互联网行业比较多。

至于异构系统的权限,这个其实和权限都没多少关系,只要是异构系统对接都会遇到问题,这就像俄罗斯方块的裂缝,和上面提到的产品类似,如果这些系统都是一家公司做的,这些方块可以有统一的规范接口,就不存在这样的问题(当然不排除一家公司内部也各搞各的,因为谁也不愿意去等谁做完再自己去做事情),如果是与别人对接要看你本身的地位,一般来讲是依赖对方的权限去接入(除非对方公司没有IT系统),你的产品如果定位足够明确,那么就应该有一套产品级别的权限控制,当然要足够灵活,满足行业需要,当去与别人对接的时候,其实就是生产转换口的过程。首先自己的权限要足够灵活除了配置化、层级化、继承性、个性化都要考虑外,还需要考虑权限的对象模型,通俗一点讲就是权限的属性和关系有那些,这些属性和关系要足以满足某个行业内灵活的权限架构,当这个抽象得足够好,对方的权限的管理的数据提取的时候,就是考虑如何将对方的模型转换为自己的模型,属性之间的映射关系,可以为它去专门写个适配器,将对象转换过来后转入自己的系统进行处理。

不过你要考虑到对方的数据可能不全或更多的情况,这两者都体现了你个人对于领域的理解和抽象是否灵活,如果做得足够好,如果对方数据不足以填充你的数据结构,要么是有默认值,要么就是降级服务达到目的(或者说它本身不需要,那么我不支持就好了)。如果它有更多的权限要求,就需要重新审该业务领域的视权限管理出现了一些新的变种如何灵活的融入到现有的产品中。

其实不论是权限还是其它数据都是类似的,中间的转换口是可以单独做单元测试的,只要转换口程序OK,产品是稳定的,就无需有几百人的叫唤式的大调试。不过我说得比较理想,现实往往会比较残酷,一般做软件外包的公司为了拿到项目刚开始什么都会愿意去做的,呵呵,扯得有点多,但是这个话题还没有真正展开,有很多是在做的过程中不断摸索出来的。





提到了几点,我其实自己也有考虑过。只是答案需要跟大牛们印证印证看是否走了歪路。

1.Java快速开发
一种是技术层面
一种是管理层面

两个层面需要相互结合。

如何保持个人快速开发,如何保证团队快速开发。

使用哪些开发工具,需要走哪些流程。功能可否复用,能否在大家happy 的同时将 work做好。能否不加班,多留点时间陪家人,朋友,亲人,对象。


技术层面:
我自己搭了一套环境。
确保Java有PHP的开发效率,不重启服务器,并规范兼容所有服务器&中间件。

   效率也还不错:
ej 整套体系功不可没
DB 层封装,充血模型,分库分表,动态数据库分页,多数据源数据库控制,数据字典,自动扫描等等
Controller 层抽象,公共方法复用,支持国际化项目,自定义异常处理,监听事件处理等等
View 层组装,前端js库封装,模版装饰,母版替换,全局异常处理等等

所以,基于这样一套体系,大家只要按规范来写代码,如果出现问题,在架构上做轻微调动就可以了!

团队在使用上述技术的同时,使用CI。

管理层面:
只有一点,按本色做人,但按角色做事。尽量跟大家分享快乐,正能量的事情。


2.你如何看待快速开发平台这一系列产品

快速平台,不具备抽象性,但具有基础性。

权限,角色,用户,界面风格 是基础的东西。

如果我需要其它的东西可以配进来,工作流,数据分析,缓存。

在我看来,平台不只需要快,并且还要会"变"。

改变成你要改变的。




3.异构系统权限交互

作者的回答很具有参考性,那就是:考虑如何将对方的模型转换为自己的模型。





0 请登录后投票
   发表时间:2014-10-17  
已在当当上购买,等待到货拜读大师力作。
0 请登录后投票
   发表时间:2014-10-17  
kimimo 写道
已在当当上购买,等待到货拜读大师力作。



谢谢你的支持,希望本书可以给你带来一些帮助,如果有相关的问题,可与我私信沟通或其它方式沟通!
0 请登录后投票
   发表时间:2015-02-12  
看完了回复,作者人很Nice,虽然暂时没有买书的动力,但是会关注的:)
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics