- 浏览: 16462 次
- 性别:
- 来自: 上海
文章分类
最新评论
1.UML的重要性,推荐plantUml
2.编码编的其实是思路:先写注释(思路),在写代码
3.设计之初,所有方法都是黑盒
4.设计模式要顺其自然
5.接口的重要性是告诉别人我是干什么的
6.接口设计的伸缩性:考虑中间数据状态,减少对应终端接口修改
7.行业内的规范还是要遵守的,比如是 mvc,保留适当的DAL层,关键时刻可以救命
8.减少同层之间的调用(同一个类内的不算哦),会增加系统的维护成本或者出事故的概率
===2016-07-24
9.复杂的场景,先做抽象,每一个场景总有核心的,其他的功能只是拓展
10.好的系统是积累出来的,不要一开始的设计就奔着BAT的规模去,一方面很累,一方面可能没有意义
11.多关注底层和源码,会给你一些惊喜
12.多关注其他语言,说不定你就会转语言的,呵呵,其实不同语言不通思想给你不同的思路
=======2017-09
13.尽量避免业务层同级之间的直接调用,比如service层调用service层,首先service一般代表了一个业务,上层肯定服务于某一个对外开发的API,不同的api完成的业务也肯定不一样,否则就不会分开来定义,一个service调用另外一个service,表示这有业务之间的紧密关系,或者单纯的代码复用,如果是后者的话,完全不要这样去做,serviceA 调用 serviceB,B 发生了变动,A保存原业务,但是 也要跟着做修改,这个有悖于开闭原则,而且会容易忽略掉,导致BUG;如果是业务之间很强的关联关系,B变化 A也必定变化,这样的可以调用,但是也要谨慎,谁知道需求会怎么变呢?而且在在API层去分别调用A B,来组装,比A 直接调用B 麻烦不了多少,还不用担心这么多
14.开发模式选择,无论大小项目,建议尽量采用模块式的开发,定义数据模型,定义模型职责,而不是采用分层式的开发模式(所有service放在service中,所有dao 统一放在 DAO层中),如果项目发展可以,分层式的最终走向肯定是模块式的,而且模块式比分层式的开发,工作量增加10%以内,10%的工作量,换取更易管理的工程,肯定是划算的,
2.编码编的其实是思路:先写注释(思路),在写代码
3.设计之初,所有方法都是黑盒
4.设计模式要顺其自然
5.接口的重要性是告诉别人我是干什么的
6.接口设计的伸缩性:考虑中间数据状态,减少对应终端接口修改
7.行业内的规范还是要遵守的,比如是 mvc,保留适当的DAL层,关键时刻可以救命
8.减少同层之间的调用(同一个类内的不算哦),会增加系统的维护成本或者出事故的概率
===2016-07-24
9.复杂的场景,先做抽象,每一个场景总有核心的,其他的功能只是拓展
10.好的系统是积累出来的,不要一开始的设计就奔着BAT的规模去,一方面很累,一方面可能没有意义
11.多关注底层和源码,会给你一些惊喜
12.多关注其他语言,说不定你就会转语言的,呵呵,其实不同语言不通思想给你不同的思路
=======2017-09
13.尽量避免业务层同级之间的直接调用,比如service层调用service层,首先service一般代表了一个业务,上层肯定服务于某一个对外开发的API,不同的api完成的业务也肯定不一样,否则就不会分开来定义,一个service调用另外一个service,表示这有业务之间的紧密关系,或者单纯的代码复用,如果是后者的话,完全不要这样去做,serviceA 调用 serviceB,B 发生了变动,A保存原业务,但是 也要跟着做修改,这个有悖于开闭原则,而且会容易忽略掉,导致BUG;如果是业务之间很强的关联关系,B变化 A也必定变化,这样的可以调用,但是也要谨慎,谁知道需求会怎么变呢?而且在在API层去分别调用A B,来组装,比A 直接调用B 麻烦不了多少,还不用担心这么多
14.开发模式选择,无论大小项目,建议尽量采用模块式的开发,定义数据模型,定义模型职责,而不是采用分层式的开发模式(所有service放在service中,所有dao 统一放在 DAO层中),如果项目发展可以,分层式的最终走向肯定是模块式的,而且模块式比分层式的开发,工作量增加10%以内,10%的工作量,换取更易管理的工程,肯定是划算的,
发表评论
-
知识点
2017-11-13 18:16 0happen befor: 线程 star before 线程 ... -
ConcurrentHashMap 精髓
2017-11-02 15:13 0ConcurrentHashMap 精髓: 1.s ... -
经典面试题
2017-09-28 16:58 670接触到一个经典的面试 ... -
java condition await() 与object wait()的区别
2017-09-07 14:42 2763java condition await() 与object ... -
一致性HASH
2016-11-10 15:54 0在我们做分布式的时候,难免会有一个路由的过程,比如说redis ... -
JVM stop the world
2016-11-09 23:03 444JVM 在进行GC的时候,需要做两个事情,一个是GC root ... -
java Thread 解析
2016-10-27 21:31 0/* * Copyright (c) 1994, 20 ... -
悲观锁 乐观锁,公平锁,非公平锁
2016-10-27 13:55 0悲观锁 乐观锁,公平锁,非公平锁 d 他们的区别 悲观锁与乐 ... -
java LockSupport
2016-10-26 20:33 0/* * ORACLE PROPRIETARY/CONFI ... -
AbstractQueuedSynchronizer 的 CLH
2016-10-26 09:19 0/** * Wait queue node ... -
java 中的wait 与 await
2016-10-25 20:16 0java中wait() 与 await() wait() 方 ... -
java中内存泄漏
2016-09-01 07:43 552内存泄漏(memory leak):该被回收的对象没有被回收, ... -
线程性能与可伸缩性
2016-08-25 23:06 0对性能的思考 性能与可伸缩性 评估各种性能的权衡因素 am ... -
怎么平衡线程并发中的活跃性和安全性
2016-08-25 23:02 0线程的活跃性 活跃性:线程的处理速度 安全性:加锁保证数据的正 ... -
java线程的取消和关闭
2016-08-25 22:55 0java的线程取消和关闭 在正常的业务操作中,碰到进行中的任 ... -
Java 线程池
2016-08-25 09:24 0线程池工作原理 线程池的原理解析 线程池代码解析 -
研发分级
2016-07-27 11:54 0研发分级 今天老大问了一个问题:怎么区分 -
java并发详解
2016-08-31 07:34 577线程安全 1.什么是并发? 2.什么是线程安全 3.如何保证线 ... -
java学习路线图
2016-07-14 22:56 640这么长的时间,么有好好总结过自己的学习路线,今天和大家一起分享 ... -
threadLocal的使用场景--事务下的日志记录
2016-07-02 16:04 2864threadLocal在系统中的使 ...
评论