Week 6 - Mon.

原创 2010年11月09日 04:35:00

今天和Jonathan pair,学到两点:

 

1、在A类的某方法中,需要调用B类对象的方法时,比如调用某validator的方法来做validation,要留心是否需要避开对象的创建。

比如:

下面例子中Code example 1的写法,表面上像是调用对象方法,实际上和Code example 2中调用类的静态方法无异,如:

问题的本质在于,在方法中创建的对象常难以在测试时使用mock。当我们设法传入这种对象到方法里时,方法就方便测试了。传入的方式可以是通常的参数传递,或考虑Autowire一个Field。当然,明白了道理之后我们也可以假装愚钝,要灵活处理不要死扣principle。

 

2、不要在将被Autowired的对象中保存状态,只调用方法,保持对象干净。

也许你想为上面的Validator类加点料,因为只调hasError方法似乎太简陋了,你甚至都不知道怎么把出错的信息体面地带出来。打算把参数传入后,像调用getErrors()、getReturnObject()一般地来获得更多信息?NO! spring其实不希望你做这些事,因为它有可能把这样的bean做成内部singleton(不是全局的),在处理中存在前后脚地把对象交给不同request请求下的action的可能性,那时同一个对象就会产生状态的不一致,就像电话串线...

 

 

题外的,

 

老是草稿存着没完成,想写的总是很多,结果睡觉前老弄不完,第二天还要弄新东西,唉,太不对了。

想写下来springMVC的最简配置步骤及理由,晚上做个demo工程,最后一步写ant以自动编译并部署,折腾半天xml后一跑,竟然404了,太不给力了。太晚又要睡了,明天加油。

从网页上发消息给ICQ

好像icq.com改变了一下从网页上发消息给ICQ的方法,以前是                                     //访客网名                      //访...
  • squirrel
  • squirrel
  • 2002-01-14 09:13:00
  • 659

Week 3 - Mon.

上周五终于把体检的事弄完了,花了将近一天的时间哪:上午照相,去附近最近的营业着的照相馆,我们竟然还要让人家开车送我们去… 下午去签证指定医院,两点到医生诊室门口三点才见着人;在Billing处叫号,5...
  • shaobo_wu
  • shaobo_wu
  • 2010-10-19 02:56:00
  • 621

Week 1 - Mon.

It is the first day for formal lectures in Royal Orchid Hotel, today. It's really cold there, as sam...
  • shaobo_wu
  • shaobo_wu
  • 2010-10-05 03:24:00
  • 320

Week 2 - Mon.

头一天去B2上课,起来太早了,困得不行。   收到胡凯的roll off review feedback了,感觉他对我的把握还是很到位的,来印度前和他one on one谈时就帮我找到了我没有系统...
  • shaobo_wu
  • shaobo_wu
  • 2010-10-12 02:18:00
  • 334

Machine Learning - Andrew Ng on Coursera (Week 6)

本篇文章将分享Coursera上Andrew Ng的Machine Learning第六周的课程,主要内容有如下,详细内容可以参考文末附件: 评价机器学习算法 Diagnosing b...
  • qq_26898461
  • qq_26898461
  • 2016-03-28 10:17:54
  • 1209

week6 作业

/* 输入一个整数,把该整数分别按照八进制、十进制、十六进制形式输出 */ #include "stdio.h" void main() { int a; scanf("%d",&a); ...
  • u013113716
  • u013113716
  • 2014-04-07 22:52:45
  • 302

Week6作业

/*zuo ye */ #include "stdio.h" main() { int i; scanf("%d",&i); if(i>-1&&i
  • u013782717
  • u013782717
  • 2014-04-08 17:40:32
  • 221

【Coursera】Machine learning - week6 : Advice for Applying Machine Learning

之前的几个周一直没有写,这个周才突然意识到应该写一下博客,因此现在才开始,后面再补好了。 这个文章的目的,主要在于梳理一下视频中的zhishi...
  • u011332631
  • u011332631
  • 2016-03-29 21:22:52
  • 640

Stanford - Algorithms: Design and Analysis, Part 1 - Week 5 Assignment: Dijkstra

本次作业要求如下: In this programming problem you'll code up Dijkstra's shortest-path algorithm.  Download...
  • u012290414
  • u012290414
  • 2015-03-03 09:18:43
  • 1091

Stanford 机器学习笔记 Week6 Machine Learning System Design

Building a Spam ClassifierPrioritizing What to Work On本节将会设计一个垃圾邮件分类器,具体方法是这样的:首先设定一些经常在垃圾邮件中出现的单词,比...
  • Baoli1008
  • Baoli1008
  • 2016-03-05 14:36:24
  • 1195
收藏助手
不良信息举报
您举报文章:Week 6 - Mon.
举报原因:
原因补充:

(最多只允许输入30个字)