`
世说新语
  • 浏览: 23504 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论
文章列表
    java web开发的框架很多,但都专注于J2EE分层结构的某一层,比如展示层的struts/jsf;业务层的spring/guice;数据层的 hibernate/ibatis等。J2EE充血模型项目追求业务层的独立,追求框架的低侵入性,在业务层不变的情况下,随便更换数据层或展示层被认为 是灵活性较高的设计,也是很多项目追求的目标。     但rails则追求完全不同的目标——开发快、代码少。事实上rails的业务代码对 ActiveRecord是高度依赖的,所有业务类都必须显示的继承ActiveRecord::Base类。在这种情况下,维持业务类的框架中立是不可能的。我们没 ...
在Rails中View+Controller+Helper是紧耦合的,Controller中的方法与相关目录下的view template一一对应;Model+Migration+DB是紧耦合的。这2大块之间是松耦合的。 这2块的内部组织方式是完全不同的: 对于Model层,我们通常会对业务进行OO分析,提取出一些名词和名词之间的关系,然后把他们映射成Model,这个过程比较直观,是相对细粒度的。 对于View层,我们要考虑的是用户怎么用着舒服,为了用户的方便,页面可能很简单,也可能很复杂,一个页面可能包含多个Form,一个Controller也可能调用多个Model的功能对view提供支持, ...
1、选择元素 旧用法 document.getElementById()   新用法 $()或$$()   评论 新的用法不限于用id选择元素,一般的库都支持CSS的选择语法,无论单选还是多选都非常方便。 2、namespace 旧用法 function submitBreakfastLogEntry(event) { . . . . . . } function cancelBreakfastLogEntry(event) { . . . . . . }   新用法 var BreakfastLog = { submitEntry: func ...
对象、类、模块 1.1、封装 1.1.1类层次结构 Object:顶级类 Kernel:mix-in到Object中的模块 Class:产生类对象的类 Module : Module是Class的父类 Classes, modules, and objects are interrelated. In the diagram that follows, the vertical arrows represent inheritance, and the parentheses meta-classes. All metaclasses are inst ...
                       Figure 1. UML offers five different types of class relationship      要理解这5中关系就不能简单的把它们和具体的语言实现相关联,UML介于问题域和解域之间,因而兼有这两者的概念。虽然类图是静态的,但类之间的这5种关系却是动静兼有的(也就是编译时和运行时混合的)。      问题域、解域混合,编译时、运行时混合是这5种关系的特点。 用词 问题域 解域 编译时 运行时 Dependency uses a 短暂的或者对非业务类的(如工具类)依 ...
发过一个快捷键总结被埋了,现在搞个标题党试试。 代码助手:Ctrl+Space(简体中文操作系统是Alt+/) 快速修正:Ctrl+1 单词补全:Alt+/ 打开外部Java文档:Shift+F2 显示搜索对话框:Ctrl+H 快速Outline:Ctrl+O 打开资源:Ctrl+Shift+R 打开类型:Ctrl+Shift+T 显示重构菜单:Alt+Shift+T 上一个/下一个光标的位置:Alt+Left/Right 上一个/下一个成员(成员对象或成员函数):Ctrl+Shift+Up/Down 搜索下一个:Ctrl+K 选中闭合元素:Alt+Shift+Up/Down/Le ...
线程安全的集合包含2个问题 1.多线程并发修改一 个 集合 怎么办? 2.如果迭代的过程中 集合 被修改了怎么办?     a.一个线程在迭代,另一个线程在修改     b.在同一个线程内用同一个迭代器对象进行迭代、修改、 ...
1几个最重要的快捷键 代码助手:Ctrl+Space(简体中文操作系统是Alt+/) 快速修正:Ctrl+1 单词补全:Alt+/ 打开外部Java文档:Shift+F2 显示搜索对话框:Ctrl+H 快速Outline:Ctrl+O 打开资源:Ctrl+Shift+R 打开类型:Ctrl+Shift+T 显示重构菜单:Alt+Shift+T 上一个/下一个光标的位置:Alt+Left/Right 上一个/下一个成员(成员对象或成员函数):Ctrl+Shift+Up/Down 选中闭合元素:Alt+Shift+Up/Down/Left/Right 删除行:Ctrl+D 在当前行上 ...
1.实践 计算机是一门实践的学科,提高技术水平也应该选择最贴近实践的方法——自己写或者看别人写。我不是反对看技术书,但真正值得细读的技术书非常少,市面上计算机图书汗牛充栋,这个是经典、那个是大师、另一个又是必读,很容易误导初学者。事实上对国内大量在一线的程序员来说(专业项目管理、需求分析、测试等其它工种除外)在真正必读的书我认为只有2本——《代码大全》和《设计模式》(这里指的是讲设计模式的书,相对于Gof的这本,我更推荐《敏捷软件开发:原则、模式与实践》),剩下的时间都应该用在写代码和读代码上面。编程涉及到很多细节上的东西,比如变量和方法的命名、方法的粒度、注释的写法、经典模式的变体等等,而这些 ...
Global site tag (gtag.js) - Google Analytics