作者PsMonkey (痞子军团团长)
看板java
标题Re: [问题] 在物件被注销时自动执行某些事
时间Fri Jun 15 12:53:19 2012
※ 引述《LaPass (LaPass)》之铭言:
: 感觉起来还不错,还挺简洁的。
: 问题是,东西一多的话可能会变成这样
: myDBHandler.open();
: ResultSet rs = myDBHandler("SELECT * FROM USER");
^^^^^^^^^^^
要嘛你们那边真 ____ 神奇到会没事把 method 跟 variable 取一样名字
不然,麻烦请给像样一点的 code
: while(rs.next())
: {
: our.println("名称:"+rs.getString("Name")+"的统计资料");
: //略
: our.println("文章列表");
: ResultSet subrs = myDBHandler("SELECT * FROM Post "+
: " WHERE Pid = "+rs.getString("PostGroup"));
: while(subrs.next())
: {
: //中略
: }
: subrs.close();
: subrs = myDBHandler("SELECT * FROM Mail "+
: " WHERE Mid = "+rs.getString("PostGroup"));
: our.println("邮件列表");
: while(subrs.next())
: {
: //中略
: }
: rs.close();
: //下略
: }
: rs.close();
: myDBHandler.close();
: 中间的东西可能会多达几百行甚至一千多行.....
: 很多人喜欢这样写,但是这种程式风格会让我觉得很痛苦
WT_... 什麽年代了
: 我对程式的掌控能力不高,只有一个半萤幕而已
: 一个function中的东西,只要超过那样的分量我就很容易乱掉
: 通常我自己写给自己用的元件,会把麻烦事在底层都把它处理掉
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: 他们觉得程式应该是一行行执行下去,而不是东跳西跳.....
WT_... 什麽年代了
: List<User> getUser()
: {
: List<User> listUser=new ArrayList<User>();
: myDBHandler.open();
: ResultSet rs = myDBHandler("SELECT * FROM USER");
: while(rs.next())
: {
: listUser.add(/*中略*/);
: }
: rs.close();
: myDBHandler.close();
: return listUser;
: }
: 这个虽然不会让使用资料库的元件出现lifecycle
: 但是每次取得资料时都会开、关一次连线
: 怎麽想都觉得,容易会造成短时间大量开、关连线的问题啊
__! 接下来就会有人告诉你用 connection pool 的 library
然後你就会说:「讨厌~那不是人家要的唷~啾咪~」
说真的,我虽然懒得懂那些底层的东西
但是我怎麽看怎麽觉得
这世界都已经在上太空了,你还在跟人家讲怎麽杀猪公
我必须先说一件事
要探究原理、要翻案既有作法,这绝对不会反对
甚至,如果版面上都是这种文章
我大概会痛哭流涕马上去辞版主,因为真 ﹍﹍ 的不够格
回到主题(谜之声:有这东西?)
肮脏事就是那麽多,泛称「肮脏事不灭定律」
就是要开 conn、捞资料、关 conn
总总 lib 也好、framework 也好
只是让肮脏事排的比较整齐好看 or 让你看不到
myDBHandler(SQL_STATEMENT);
这个 method 为甚麽不能里头包 open(), close()?
→因为会一直开开关关
→但是因为程式码比较好看
→所以设计 connection pool,怎麽开关都不怕 [小误]
重点是,从这个 thread 开头到现在
你提出来的问题都不是昨天、上个月、还是去年才冒出来的问题
而是少说也有三年五年的时间了
(Hibernate 都出来多久了)
这麽久的时间中,你要说没有人去质疑总总 lib、framework 的解法?
怎麽可能... 很多人每天在面对这些东西制造出来的麻烦
(之前就有高手在这里讲 Hibernate 炸出来的记忆体问题)
当然不是说现有作法一定对、你不能怀疑你想怀疑的东西
但是你要怀疑、你要创新之前
麻烦你去了解一下现在的人是怎麽上太空的
而不是一直拿刀杀猪公拜嫦娥,希望嫦娥哪天显灵带你飞上天
然後说靠火箭上太空不是我的 style
(那也不是不行,如果你是写小说的,那我会帮你按个赞)
--
钱锺书:
说出来的话
http://www.psmonkey.org
比不上不说出来的话
Java 版 cookcomic 版
只影射着说不出来的话
and more......
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.202.140
1F:推 LaPass:对不起..... 06/15 12:56
2F:→ bleed1979:L原po不必道歉,这种事我至少在这个版看过两次了。 06/16 20:10
3F:→ bleed1979:另建议L原po读Effective Java,有针对finalize的条款。 06/16 20:12