设计模式基础

文章目录

    • 1.什么是面向过程?面向过程核心思想是什么?
    • 2.什么是面向对象?面向对象核心理念是什么?
    • 3.java中,用程序说明多态的实现
    • 4.java中,用程序说明反射机制
    • 5.java中,用程序写出三种容器的数据遍历
        • 对 Map的遍历
        • 对 List的遍历
        • 对 Set的遍历
    • 6.简单描述servlet的工作流程
    • 7.ssm框架中每个框架在数据处理中的作用
    • 8.java体系知识图
    • 9.说明B/S架构,C/S架构,MVC架构

1.什么是面向过程?面向过程核心思想是什么?

  • (1)面向过程就是以过程为中心编程,将要解决的问题一步步分解,然后用一个一个的函数实现,使用的时候依次调用,也可以理解为为函数式编程,函数执行完毕,问题也就全部解决了。
    • 以贪吃蛇游戏为例,用面向过程的方式开发

      	a)创建地图函数,用来绘制游戏画面
      	b)创建游戏初始化函数,将蛇,食物渲染在界面上
      	c)创建移动函数,蛇动
      	d)创建进食函数,蛇去吃食物
      	e)创建长大函数,蛇进食后身体增长
      	f)创建随机生成食物的函数,食物被吃后在再度生成
      	g)创建碰撞检测函数,蛇碰到墙后游戏结束
      	h)创建终止函数,结束游戏
    
  • (2)面向过程的核心思想是自顶向下逐步求精,其理念是模块化开发

2.什么是面向对象?面向对象核心理念是什么?

  • (1)面向对象就是以对象为中心编程,把要解决的问题抽象成一个一个的对象。这些对象自身带有特定的属性和方法,设定好既定程序后,一切流程对象自己完成。
  • 以贪吃蛇游戏为例,用面向对象的方式开发:

	a)创建地图对象,用来初始化游戏界面;
	b)创建蛇对象,具有体长体色等属性,有移动,进食 ,长大等方法;
	c)创建食物对象,被蛇吃掉后随机生成;
	d)墙对象,碰撞检测,蛇碰到墙游戏结束;
	e)系统对象,用来结束游戏,停止计时器。
  • (2)核心理念:抽象,封装,继承,多态,开发对象模型。

3.java中,用程序说明多态的实现

  abstract  class Animal{
        public abstract  void eat();//抽象方法,留给子类重写
    }
    class Dog extends Animal {
        public void eat(){
            System.out.println("狗吃骨头");
        }
    }
    class Cat extends Animal {
        public void eat(){
            System.out.println("猫吃鱼");
        }
    }
    //测试类
    public class Test { 
    public static void main(String args[]) { 
       Animal a1= new Dog();
       Animal a2= new Cat();
       animalEat(a1);//狗吃骨头
       animalEat(a2);//猫吃鱼
    } 
    public static void animalEat(Animal a){
    	a.eat();
    }
}

4.java中,用程序说明反射机制

  • 程序在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法
  • 对于任意一个对象,都能调用它的任意一个方法.
  • 这种动态获取信息,以及动态调用对象方法的功能叫java语言的反射机制
package fanshe;

public class User {
	public String name = "张三";
	public int age = 18;
	public void say() {
		System.out.println("大家好,我叫" + name + ",今年" + age + "岁");
	}
	public void setName(String name) {
		this.name=name;
	}

}

package fanshe;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class Test{
public static void main(String[] args) throws Exception {

        //获取类
        Class<?> clazz = Class.forName("fanshe.User");
        //创建对象     
        Object object = clazz.newInstance();
        //调用方法,
        //参数1,方法名,
        //参数二,参数类型
        //无参是null,String是String.class,以此类推
       Method m1 = clazz.getMethod("say", null);
        //执行该方法
	      m1.invoke(object, null);
	      Field f = clazz.getDeclaredField("name"); //操控属性
		  f.setAccessible(true); // 设置属性可以直接的进行访问  
		 f.set(object, "王五");
	

    }
}

5.java中,用程序写出三种容器的数据遍历

对 Map的遍历

		Map<String , String > map = new HashMap<String , String >(); 
		//方法一
		for (String key : map.keySet()) {
			String value=map.get(key);
			System.out.println(key+":"+value);
		}
		//方法二
			for (Map.Entry<String, String> entry : map.entrySet()) {
				System.out.println(entry.getKey()+":"+entry.getValue());
		  }

对 List的遍历

 List list = new ArrayList();
 	Iterator it=list.iterator();
 	while(it.hasNext){
 		System.out.println(it.next());
 	}

对 Set的遍历

Set<String> set = new HashSet<String>();
for (String str : set) {  
      System.out.println(str);  
}  

6.简单描述servlet的工作流程

  • servlet整个生命周期跑完,就是servlet的工作流程
    • 1.启动web服务器,加载web.xml配置文件,创建servlet实例
   <servlet>
      <servlet-name>UserServletservlet-name>
      <servlet-class>cn.com.myblog.UserServletservlet-class>
    servlet>
  • 2.当servlet实例化后,Web服务器会自动调用init(ServletConfig config)方法来初始化该Servlet。
    • init方法参数config中包含了Servlet的配置信息,如初始化参数
    <servlet>
         <servlet-name>UserServletservlet-name>
      <servlet-class>cn.com.myblog.UserServletservlet-class>
        <init-param>
            <param-name>userparam-name>
            <param-value>冷月心param-value>
       init-param>
    servlet>
  • 3.调用对象的service()方法来处理请求,并返回处理结果

    • 流程:接受客户端请求->调用匹配的方法执行业务逻辑->响应页面到客户端
    • servlet生命周期三大方法:init,service,destroy,其中初始化和销毁都执行一次,service可反复执行
    • 此外,service能处理的请求方式包括但不限于get,post,会对应匹配,get请求执行doGet,post执行doPost
  • 4.调用对象的destroy()方法来结束,并释放资源

    • 程序结束或者是服务器停止,web服务器调用该方法销毁servlet

设计模式基础_第1张图片

7.ssm框架中每个框架在数据处理中的作用

  • Spring:

 配置数据源
 事务管理
 通知管理
 mvc相关配置
 管理Javabean
  • SpringMVC:接收客户端浏览器发出的请求,调用业务层方法处理,将处理结果解析成视图返回客户端

  • MyBatis:编写接口和配置文件,主要用来存储数据和进行增删改查等dao层的操作


设计模式基础_第2张图片

8.java体系知识图

9.说明B/S架构,C/S架构,MVC架构


 B/S(Brower/Server,浏览器/服务器)模式又称B/S结构,是Web兴起后的一种网络结构模式。
 Web浏览器是客户端最主要的应用软件。
 这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用;
 客户机上只需要安装一个浏览器,服务器上安装SQL Server, Oracle, MySql等数据库;浏览器通过Web Server同数据库进行数据交互。

设计模式基础_第3张图片


  • Client/Server架构,即客户端/服务器架构。

 通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理操作。

设计模式基础_第4张图片

  • MVC(Model View Controller 模型 视图 控制器)用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

设计模式基础_第5张图片

  • 学习资源推荐 https://blog.csdn.net/qq_42813491/article/details/90213353

你可能感兴趣的:(java)