架构(三层架构)、框架(MVC)、设计模式三者异同点

对于没有排序功能的集合来说,都可以使用java.util.Collections.sort()方法进行排序,它除了集合对象以外,还需要提供一个比较器。如果列表中的元素全部都是相同的类型,并且这个类实现了Comparable接口,就可以简单的调用Collections.sort()方法,如果这个类没有实现comparable接口,那么可以创建一个比较器传递一个Comparator实例作为Sort()的第二个参数进行排序,另外,如果不想使用默认的分类顺序进行排序,同样也可以传递一个Comparator实例作为参数来进行排序。
package Bible001;
import java.util.*;
//类通过实现comparable接口进行排序和利用创建比较器进行排序。
public class SortTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		List<Student> list=new ArrayList<Student>();
		list.add(new Student("stu001",21));
		list.add(new Student("stu003",29));
		list.add(new Student("stu002",25));
		list.add(new Student("stu004",23));
		System.out.println("--------原始顺序---------");
		for(Iterator<Student> it=list.iterator();it.hasNext();)
			System.out.println(it.next().toString());
		System.out.println("---------默认排列---------");
		Collections.sort(list);
		for(Iterator<Student> it=list.iterator();it.hasNext();)
			System.out.println(it.next().toString());
		System.out.println("---------降序排列-----");
		Comparator<Student> comp=Collections.reverseOrder();
		Collections.sort(list,comp);
		for(Iterator<Student> it=list.iterator();it.hasNext();)
			System.out.println(it.next().toString());
		System.out.println("---------名字排序----------");
		Collections.sort(list,new Comparator<Student>(){

			@Override
			public int compare(Student s1, Student s2) {
				// TODO Auto-generated method stub
				 return s1.getName().compareTo(s2.getName());
			}

		});
		for(Iterator<Student> it=list.iterator();it.hasNext();)
			System.out.println(it.next().toString());

	}

}
class Student implements Comparable<Student>{

	private String name;
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	private int age;
	public Student(String name,int age){
		this.name=name;
		this.age=age;
	}

	@Override
	public int compareTo(Student stu) {
		// TODO Auto-generated method stub
		if(this.age>stu.age)
			return 1;
		else if(this.age<stu.age)
			return -1;
		else
			return 0;
	}
	public String toString(){
		return name+‘_‘+age;
	}

}

输出:

--------原始顺序---------

stu001_21

stu003_29

stu002_25

stu004_23

---------默认排列---------

stu001_21

stu004_23

stu002_25

stu003_29

---------降序排列-----

stu003_29

stu002_25

stu004_23

stu001_21

---------名字排序----------

stu001_21

stu002_25

stu003_29

stu004_23

架构(三层架构)、框架(MVC)、设计模式三者异同点,布布扣,bubuko.com

时间: 2024-11-18 17:48:51

架构(三层架构)、框架(MVC)、设计模式三者异同点的相关文章

架构-三层架构:三层架构

ylbtech-架构-三层架构:三层架构 三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:界面层(User Interface layer).业务逻辑层(Business Logic Layer).数据访问层(Data access layer).区分层次的目的即为了“高内聚低耦合”的思想.在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构.微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层.业务逻辑层(又或称为领域层).表

【spring+springmvc+mybatis】1.1系统架构-三层架构

系统架构:整合应用系统程序大的结构 经常提到的系统结构有两种:三层架构与 MVC 这两种结构既有区别,又有联系.但这两种结构的使用,均是为了降低系统模块间的耦合度 三层架构 视图层 View,服务层 Service,持久层 Dao View 层:接收用户提交请求的代码在这里编写 Service 层:系统的业务逻辑主要在这里完成 Dao 层:直接操作数据库的代码在这里编写 层间解耦合 在三层架构程序设计中,采用面向抽象编程.即上层对下层的调用是通过接口实现的. 下层对上层的真正服务提供者,是下层接

三层架构和MVC模式

1.三层架构 三层架构(3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI).业务逻辑层(BLL).数据访问层(DAL).区分层次的目的即为了"高内聚,低耦合"的思想. 1.表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得. 2.业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理. 3.数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添.删除.修改.更新.

C# 分层 三层架构 Very Very Good!

Hello! 欢迎新老朋友来到这里,这里随时恭候你的大驾. 接下来说说三层架构↓↓↓↓↓↓ 三层架构分为:表现层(UI(User Interface)).业务逻辑层(BLL(Business Logic Layer)).数据访问层(DAL(Data Access Layer))再加上实体类库(Model) 1.实体类库(Model),主要存放数据库中的表字段. 操作: (1)先建立实体类库Model,打开项目,在解决方案中右键——>添加——>新建项目——>选中类库——>改名Mode

大话三层架构

情景 这篇博文呢,对于高手来说不值一提.仅作为入门同学的小建议.小编旨在帮助新人理解什么是[三层架构]?为什么使用三层架构? 且博文与使用无关,旨在帮助理解.小编会尽力把文字写的有趣. 1.大佬们怎么想到使用三层架构? 好了,咱们开始今天的第一个话题.程序世界的大佬们是如何想到使用三层架构的呢?其实这个问题很好回答.任何技术.思维的出现一定是为了解决一些问题.随着问题的严重,这种解决问题的手段.技术.方法.被推而广之.也就是说,我们假设在没有三层架构的时候,编程遇到了一些麻烦.而三层架构的出现解

JavaEE三层架构

三层架构 三层架构是javaee规范中的推荐架构,传统意义上是分为表示层(UI).业务逻辑层(BLL).数据访问层(DAL).在javaee的开发中,三层架构具体分为表示层(web层).业务逻辑层(service).数据访问层(dao层). 三层架构是典型的架构模式(Architecture Pattern),将产品的开发细分为三层,这么做的好处是能够让每个人都能发挥自己的专长.比如前端工程师能专注页面的设计,如何吸引用户,而不用在乎业务逻辑的实现.数据库工程师,又可以专注数据库的处理,使其变得

C# 框架是什么?MVC是什么 ?工厂模式是什么?设计模式是什么?三层架构是什

C# 框架是什么?MVC是什么 ?工厂模式是什么?设计模式是什么?三层架构是什么?如果要学我该从何学起??? C# 框架看这里http://download.csdn.net/source/2578425 MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller). MVC模式的目的就是实现Web系统的职能分工. Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现. View层用于与用户的交互,通常用JSP来实现. Controll

Web项目的三层架构和MVC架构异同

http://www.cnblogs.com/zhhh/archive/2011/06/10/2077519.html 又看到有人在问三层架构和MVC的关系,感觉这种问题有点教条化了.因为它们都在逻辑上将应用程序划为三块,凑了一个数字3,就有人非要把它们联系到一起了. 这两个东西我接触有几年了,有一点体会,表达一下: 三层是三层,MVC是MVC,它们毫无关系的. 三层是从整个应用程序架构的角度来分的三层(如果程序需要,还可以分多层). 三层是为了解决整个应用程序中各个业务操作过程中不同阶段的代码

MVC设计模式与三层架构

三层架构分别是:表示层(Web层).业务逻辑层(BLL层)和数据访问层(DAL层). (1)表示层负责: a.从用户端收集信息 b.将用户信息发送到业务服务层做处理 c.从业务服务层接收处理结果 d.将结果显示给用户 (2)业务逻辑层负责: a.从表示层接收输入 b.与数据层交互执行已设计的业务 c.操作(业务逻辑,系统服务等) d.将处理结果发送到表示层 (3)数据访问层负责: a.数据存储 b.数据获取 c.数据维护 d.数据完整性 在三层结构设计中,表示层可由视图和控制器来实现,而业务逻辑