由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Java版 - 三论abstract class
相关主题
Singleton话说有一个模式叫做Multiton
关于singletonstatic getInstance()
一个关于generics的问题thread safe Singleton 的几种方法?
●●●●紧急求助JAVA初级问题,今天project due●●●●看到一个关于singleton的面试题
Converge of languages and design pattern今天下午要面一个老印
关于inner class的继承看了zhaoce073大水忍不住说2句
问两个语法问题Re: print problem, GUI guru please come in
Apply lock on a class.question: how to implement this
相关话题的讨论汇总
话题: class话题: abstract话题: singleton话题: enum话题: 三论
进入Java版参与讨论
1 (共1页)
z*******3
发帖数: 13709
1
这个问题是我在实际工作中遇到的
关于singleton pattern
当然也关于abstract class
java1.5之后,singleton有一个非常容易的实现
public enum Singleton{
INSTANCE;
}
这样做有一个限制
如果你对enum了解的话
会发现
enum不支持extends class
但是支持implements interface
所以如果你按照我之前说的,坚决淘汰掉abstract class
只用一层继承,也就是所有的class都implements interface在你的工作中的话
你把以前的singleton class改造成1.5+以上版本的singleton
会非常轻松,而且是完全可行的
但是如果你不这么做的话
那……
写代码是一门艺术,很多人不理解代码的美感
java的美在于它的结构
z*******3
发帖数: 13709
2
真正的结构上的美要从包结构上入手
而不是从类这个层次入手解决
整体结构就应该划分清楚
而不是等到类这个层次再来切割
那就很痛苦了
所以整个软件工程就是从大而小的切割
而不是在最低一层也就是类层面上的切割
通俗点说就是先component diagram
再class diagram,结构应该是先总体后部分
enum是第一个坚决淘汰abstract class机制的api
如果说以前的api是还隐晦地表达对abstract class的不满
比如servlet, struts等使用abstract class的框架逐步被市场所淘汰
或被其它不需要严格继承的框架所替换
使得用户有更大的灵活性
还有很多api可以用abstract class全部具体化,以满足你不愿意继承的需要
的话
那么enum的出现,则是明确地拒绝你使用这种半实现的机制
看api的变迁足够感觉出这个趋势了
你写的那些代码再重要能比enum这个关键字更重要?
哼哼
下班咯,走人
1 (共1页)
进入Java版参与讨论
相关主题
question: how to implement thisConverge of languages and design pattern
请教,business analyst 适合学什么语言?关于inner class的继承
问一个java design的题问两个语法问题
extending generic class , but not mentioning its parameterized type?Apply lock on a class.
Singleton话说有一个模式叫做Multiton
关于singletonstatic getInstance()
一个关于generics的问题thread safe Singleton 的几种方法?
●●●●紧急求助JAVA初级问题,今天project due●●●●看到一个关于singleton的面试题
相关话题的讨论汇总
话题: class话题: abstract话题: singleton话题: enum话题: 三论