OOA/OOD&UML部分
UML是什么?有哪些常用的图?
UML是标准的建模语言;常用图包括:用例图、静态图(包括类图、对象图和包图),行为图、交互图(顺序图、合作图),实现图。
简述一下Singleton模式。
Singleton模式主要作用是保证在Java应用程序,一个类Class只有一个实例存在。举个例子:定义一个类,它的构造函数为private修饰的,它有一个static的private修饰的该类变量,在类初始化时实例化,通过一个public修饰的getInstance方法获取对它的引用,继而调用其中的方法。
- //饿汉式
- public class Singleton {
- public final Singleton instance = new Singleton();
- private Singleton() {}
- public Singleton getInstance() {
- return instance;
- }
- }
- //懒汉式
- public class Singleton {
- private static Singleton instance;
- private Singleton() {
- }
- public static Singleton getInstance() {
- if (instance == null) {
- instance = new Singleton();
- return instance;
- } else {
- return instance;
- }
- }
- }
其他形式:定义一个类,它的构造函数为private的,所有方法为static的。一般认为第一种形式要更加安全些。
说说你所熟悉或听说过的J2EE中的几种常用模式?及对设计模式的一些看法。
Session Facade Pattern: 使用SessionBean访问EntityBean;
Message Facade Pattern:实现异步调用;
EJB Command Pattern:使用Command JavaBeans取代SessionBean,实现轻量级访问;
Data Transfer Object Factory:通过DTO Factory简化EntityBean数据提供特性;
Generic Attribute Access:通过AttibuteAccess接口简化EntityBean数据提供特性;
Business Interface:通过远程(本地)接口和Bean类实现相同接口规范业务逻辑一致性;
EJB架构的设计好坏将直接影响系统的性能、可扩展性、可维护性、组建可重用性及开发效率。项目越复杂、项目队伍越庞大则越能体现良好设计的重要性。
Java中常见的设计模式有哪些?简述工厂模式。
Java中的23中设计模式:Factory(工厂模式)、Builder(建造模式)、Factory Method(工厂方法模式)、Prototype(原始模型模式)、Singleton(单例模式)、Facade(门面模式)、Adapter(适配器模式)、Bridge(桥梁模式)、Compsite(合成模式)、Decorator(装饰模式)、Flyweight(享元模式)、Proxy(代理模式)、Command(命令模式)、Interpreter(解释器模式)、Visitor(访问者模式)、Iterator(迭代子模式)、Mediator(调停者模式)、Memento(备忘录模式)、Observer(观察者模式)、State(状态模式)、Strategy(策略模式)、 Template Method(模版方法模式)、Chain Of Responsibleity(责任链模式);
工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类,可以根据提供的数据,生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行不同的操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,开发人员可以调用子类中的方法而不必考虑到底返回的是哪一个子类的实例。
开发中都用到了哪些设计模式?分别用在什么场合?
每一个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题解决方案的核心。通过这种方式,你可以无数此的使用那些已有的解决方案,无需再重复相同的工作。主要用到了MVC的设计模式,用来开发JSP/Servlet或者J2EE的相关应用及简单工厂模式。
简述软件开发中迭代的含义的理解。
软件开发中,各个开发的阶段不是顺序执行的,应该是并行执行,也就是迭代的意思。这样对于开发中的需求变化及人员变动都能得到更好的适应。
OOA/OOD&UML部分的更多相关文章
- OOA/OOD/OOP的区别
http://javajiao.iteye.com/blog/152956这是一个故事: "工程師修了一條隧道,隧道的一端就是美麗的風景,很多人會開車通過隧道.雖然隧道內已經有燈了,但是設計 ...
- OOA/OOD/OOP 转载
OOA/OOD/OOP OOA Object-Oriented Analysis:面向对象分析方法 是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题.OOA与结构化分析有较 ...
- OOA/OOD/OOP(了解)
Object-Oriented Analysis:面向对象分析方法 是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题.OOA与结构化分析有较大的区别.OOA所强调的是在系统 ...
- OOA/OOD/OOP(转)
OOA Object-Oriented Analysis:面向对象分析方法 是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题.OOA与结构化分析有较大的区别.OOA所强调的 ...
- OOA/OOD/OOP
转载自https://www.cnblogs.com/zzyoucan/p/3576932.html Object-Oriented Analysis:面向对象分析方法 是在一个系统的开发过程中进行了 ...
- 什么是OOA/OOD
Object Oriented Analyzing Object Oriented Design Object Oriented Programming ooa(object oriented ana ...
- Java面试题总结之OOA/D,UML,和XML
全文字数: 2732 阅读时间: 大约9 分钟 1.UML 是什么?常用的几种UML图? 统一建模语言(Unified Modeling Language,UML)又称标准建模语言:常用图包括 ...
- UML(统一建模语言)
最近看了一个UML图,所以特意来了解一下UML 统一建模语言 锁定 同义词 UML(统一建模语言)一般指统一建模语言 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . Unified Mo ...
- EA UML 建模——类图
Enterprise Architect(EA) 是一个功能比较强悍的建模工具,本篇文章仅使用其 UML 建模功能,其他更多功能,可以Google. 一.简单梳理C#中类与类.类与接口.接口与接口的关 ...
随机推荐
- Navicat导入.xls等文件失败
一.问题 在学习django的models时,使用Navicat premium导入.xls数据的时候会出现导入失败的原因,即使是换成了csv文件也是失败的,原因是数据库的表有外键,而需要设置外键限制 ...
- python模块:xml.etree.ElementTree
"""Lightweight XML support for Python. XML is an inherently hierarchical data format, ...
- CUDA并行编程思维过程
CUDA并行编程思维过程 1)确定应用程序中需要且可以并行化的部分 2)将并行化代码中需要用到的数据分离出来,具体方法是用API函数在并行技术设备上分配内存空间 3)用API函数将数据传输到并行计算设 ...
- TensorFlow 神经网络教程
TensorFlow 是一个用于机器学习应用程序的开源库.它是谷歌大脑的第二代系统,在取代了近源的 DistBelief 之后,被谷歌用于研究和生产应用.TensorFlow 提供了很多种语言接口,包 ...
- PHP 生成验证码(+图片没有显示的解决办法)
今天有需要用到验证码,就敲了个,毕竟用途比较广,所以打算把代码留下来,以后肯定用得上的.当然,今天在做的时候也是有一些问题的,分享出来吧,记录自己所犯的错误,避免以后再掉坑里. 先给个效果图(下面的真 ...
- three.js 一幅图片多个精灵
https://blog.csdn.net/zhulx_sz/article/details/79105359 核心代码 // 把一幅外部图片中包含的5种精灵存入一个精灵材质数组 var sprite ...
- HTTP 总结
一.概念 特性 1. HTTP协议用于客户端和服务端之间的通信 2. 通过请求和响应的交互达成通信 : HTTP协议规定,请求从客户端发出,最后服务器端响应请求并返回,也就是说,肯定是从客户端开始建立 ...
- MySQL 字符集utf8和utf-8的关系
目录 什么是字符集(character set) 校对规则(collation) ASCII码 Unicode国际化支持 UTF-8 utf8 utf8与utf8mb4的关系 超集 字符集设置 什么是 ...
- linux/cmd中python路径导入ModuleNotFoundError: No module named 'xxx'
在linux或者直接在cmd中运行python文件时 会遇到导包错误的情况ModuleNotFoundError: No module named 'xxx’由于不在pycharm中 所以这里不能将上 ...
- windows中的常用Dos命令
# __切换盘符目录__ E/D: # 从C盘切换到E盘或者D盘# __切换到指定文件夹下__cd folder_name(指定文件夹名--相对/绝对路径)cd .. # 返回上一级目录cd / # ...