设计模式除了带来类爆炸之外,没有任何价值 -- 两个凡是

宏哥 发布于 2017/01/11 17:08
阅读 2K+
收藏 0

为了处理输入输出

要构建无数个乱伦关系的类

就是设计模式带来的价值

加载中
4
朱__朱
朱__朱

单例模式也类爆炸了吗?宏哥写的框架没有任何设计模式?

设计模式是实践总结,而不是八股文, 即使没学习过设计模式的人, 当积累了一定经验,也在不知不觉中写出了符合设计模式的代码.  

每个人组织代码的习惯, 也称得上自己的设计模式. 宏哥你的两个凡是,就是典型的设计模式,虽然它会毒害人,但的确是你的模式.

流行的设计模式,是从大多数开发实践中提炼出的,可以省却你自己摸索总结所耗费的时间和精力, 也可以为项目标准化和团队代码标准化提供有力的支撑. 聪明的人, 是善于学习利用的.


justicewhite0
justicewhite0
同感,工作几年后,很多改善后的代码自然而然的和设计模式暗合。java,C#和PHP都用过,简单到就像写个公共函数用的类,很多烂手写成耦合度非常高的,改动模型很费劲是小事,一个文件N个业务同时用,你改个东西能不能传上去都得问问之前动过的人是不是可以传,而这个文件调用的其他耦合高的文件里的函数也去沟通,人家新的东西传了,你再传才能不出错。而犯这种错误的居然有年龄比我大接近10岁的,他们真应该学下模式
inuxor
inuxor
回复 @honey_fansy : 蛤?
honey_fansy
honey_fansy
回复 @eechen : 单线程说什么单例,单例是解决多线程出现的问题
eechen
eechen
数据库连接要用单例吧,在原生PHP里用一个static $db;if($db) { return $db; } else { $db = new PDO(); }就OK了,哪还需要扯什么高大上的设计模式呀.
NewDever
NewDever
回复 @公孙二狗 : 是啊,不同的世界,他们的世界,木讷,呆板,僵硬,跟木头一类的东西。已经坏了,不能用了,这样的木头,不能拥有女朋友。
下一页
1
M
MikeDrew
宏哥2017年才知道?今年刚开始写程序?
0
2
235235
虽然我宏哥脑残粉,但是也要指出宏哥的错误,设计模式跟输入输出有个毛线关系
快速开发师
快速开发师
设计模式是对应用的方向明确,并非类的爆炸;Java的面向对象继承等特性,导致了“这么样用”会产生很多可选方式,而设计模式地出现正式指明了主要的大多数场景下的运用方式,要不然类的运用方法会更加泛滥,相反不是爆炸,而是减少。
快速开发师
快速开发师
PHP也拿来写人工智能的代码我里个去,可想而知读的懂不,只有java还可以面向对象一下,模式一下,php是卵的。
0
宏哥
宏哥

引用来自“235235”的评论

虽然我宏哥脑残粉,但是也要指出宏哥的错误,设计模式跟输入输出有个毛线关系

你所指既是问题所在

软件就是用来处理输入输出的

但是, 设计模式和输入输出毛关系没有, 就是瞎搞

notreami
notreami
设计模式,OOP都特么扯皮了20年了。看着都烦。
不日小鸡
宏哥说的输入输出跟程序员说的输入输出有个毛关系,具体看楼下那个贴代码的 就我工作过或者接触过的公司的代码都是过渡设计
0
DeMoNHaDeS
DeMoNHaDeS

FileOutputStream fos = null;
OutputStreamWriter osw = null;
BufferedWriter bw = null;
try {
	fos = new FileOutputStream(file, true);
	osw = new OutputStreamWriter(fos, "gbk");
	bw = new BufferedWriter(osw);
	
	//...
	
} catch (Exception e) {
	throw e;
}finally {
	if (bw != null) {
		bw.close();
	}
	if (osw != null) {
		osw.close();
	}
	if (fos != null) {
		fos.close();
	}
}



理解题主的意思是认为类似上述代码比较啰嗦。java语言上确实啰嗦。

其实你可以把这东西自己再封装一层变成一个类来调用不就解决了。



秦彪
秦彪
回复 @eechen : 你这样说就没意思了啊。原生调用简单不一定说明底层实现也简单啊。java原生保存文件确实麻烦,要new一堆东西,完了还要一个一个去关闭。但是你敢保证你的PHP底层没有打开文件操作没有关闭流的操作吗?这只能说明PHP的代码更上一些,Java稍微要底层一些。上层的好处就是用户使用起来方便,底层的好处就是灵活性更高,更适用于一些奇奇怪怪的场景。一句话保存自己封装类一样的。
不日小鸡
回复 @eechen : 呵呵
eechen
eechen
回复 @不日小鸡 : Java封装难道不用时间?封装不需要额外的代码量?而PHP可是直接就用,原生支持这样写,明显有很大区别嘛.
不日小鸡
回复 @eechen : java一样可以封装成一行代码调用,争论这个有什么意义,黑都没黑到点
eechen
eechen
回复 @不日小鸡 : 原生PHP一行代码就可以把远程图片保存到本地: file_put_contents('/tmp/logo.gif',file_get_contents('https://www.baidu.com/img/bdlogo.gif')); 用原生Java你得几行代码呀?真没必要为Java的不足之处辩驳.
下一页
0
shikeaiDev
shikeaiDev

是的。

如果DP用到不该用的地方,或者好东西用错了,那么就是累赘。

一般我个人是先实现,然后git commit,然后用DP来简化,如果类突然暴增,就要跟别人一道讨论研究下问题到底出在哪里。

0
乌龟壳
乌龟壳
用java解决问题为什么一定要新建类?
0
NewDever
NewDever
儿子说得好
NewDever
NewDever
回复 @小宏的爹 : 哦哦,那他是我干儿子,你是我兄弟,可以吧
小宏的爹
小宏的爹
我才是他正宗的爹
0
改着名儿玩
改着名儿玩
设计模式好啊!可以多增加几个工作岗位啊!
0
pantrick
pantrick
多说无益,有本事自己弄个开源项目让大家学习学习你的本事,光打嘴炮有意思?
返回顶部
顶部