设计模式简要论述
8页1、GRASP(General Responsibility Assignment Software Patterns)创建者(Creator)问题:谁创建了A?解决方案:如果以下条件之一为真时(越多越好),将创建类A实例的职责分配给B:l B“包含”或组成聚合了Al B记录Al B紧密地使用Al B具有A的初始化数据举例:比如在富客户端应用开发中,主程序创建一个主窗口对象,然后有主窗口对象来负责创建它内部的各种菜单、按钮等对象(而不是由主程序来创建这些菜单或按钮对象之后,再把它设置到主窗口中去)信息专家(Information Expert)问题:给对象分配职责的基本原则是什么?解决方案:把职责分配给具有完成该职责所需信息的那个类。(描述一种直觉!)举例:public class Classes private int id;private Set students;/描述一种直觉public void addStudent(Student student)if(students = null)students = new HashSet();students.add(student);
2、/将职责放在拥有这个职责所需信息的那个类中public boolean hasStudent(Student student)for (Iterator iterator = students.iterator(); iterator.hasNext();) Student s = (Student) iterator.next();if(s.equals(student)return true;return false;public class Student private int id;private String name;/判断两个学生对象是否相同的职责,交给Student来完成,因为它拥有这个/职责所需要的所有信息public boolean equals(Student student) if(name.equals(student.getName()return true;return false;public class TreeNode private int id;private int level;private String nodeName;private
3、TreeNode parent;private List children;public void print()for(int i=0; ilevel; i+)System.out.print(-);System.out.println(nodeName);for (Iterator iterator = children.iterator(); iterator.hasNext();) TreeNode node = iterator.next();node.print();低耦合(Low Coupling)所谓耦合,即两个对象之间联系的紧密程度问题:如何减少因变化产生的影响?解决方案:分配职责以使耦合保持在较低的水平。低耦合是构建软件最重要的目标之一。要注意:我们讲低耦合,是降低与不稳定系统之间的耦合度,而不是那些稳定的系统,比如说我们在JAVA编程过程中,没有必要想专门的办法来降低与JDK核心类库之间的耦合度,因为JDK核心类库非常稳定,很少会发生变化。高内聚(High Cohesion)所谓内聚,即对象职责的相关性(或对象的操作之间联系的紧密程度)。高内聚,即保持对象职责的高
《设计模式简要论述》由会员汽***分享,可在线阅读,更多相关《设计模式简要论述》请在金锄头文库上搜索。
2023财务个人工作计划模板(5篇)
新生教案(钳工实训第三周课题计划六2课时).doc
做好信访工作的思考.docx
家居装修油漆工艺工序事项?.doc
单片机一个按键的多次击键组合判别技巧.doc
C语言课程设计一元多项式
日事日毕日清日高.doc
分析施工安全生产的重要性.docx
给母校写一封信【对母校写一封信格式】.docx
2021年公立普惠性幼儿园通用幼教教师课程指南优质小班心理健康教案多篇汇总版
推荐下载:外资企业的认定是?相关法律是怎样的?.doc
精选企业文化演讲稿范文汇编五篇
新年新希望演讲稿三篇
现代生物技术概论.doc
新人教版七年级语文(上册期中)试题及答案(精编).doc
(完整版)最新人教版八年级生物下册知识点归纳汇总.doc
劳动雇佣合同官方版(7篇)
单反相机入门到熟练使用.doc
地铁暗挖工程监理实施细则
统计单位年终工作总结(8篇).doc
2024-02-18 14页
2023-11-16 40页
2023-09-20 11页
2023-09-30 86页
2023-03-30 37页
2023-11-15 27页
2023-09-22 12页
2024-01-05 18页
2024-01-01 10页
2023-10-23 31页