享元模式✅

享元模式(Flyweight Pattern)又称轻量级模式,是对象池的一种实现。
类似于线程池,线程池可以不停的创建和销毁多个对象,消耗性能。
提供了减少对象数量从而改善应用所需的对象结构的方式。其宗旨是共享细颗粒度对象,
将多个对同一对象的访问集中起来,不必为每个访问者创建一个单独的对象,从此来降低内存的消耗,属于结构性模式。

享元模式(Adapter)包含以下主要角色:

抽象享元角色(IFlyweight):享元对象抽象基类或者接口,同时定义出对象的外部状态和内部状态的接口或者实现;

具体享元角色(ConcreteFlyweight):实现抽象角色定义的业务。该角色的内部状态处理应该与环境无关,不能出现会有一个操作改变内部状态 ,同时修改了外部状态;

享元工厂(FlyweightFactory):负责管理享元对象池和创建享元对象。

一、实验要求

(1)进一步明白“结构型模式”的基本概念、基本原理和应用场景。

(2)掌握享元模式(Flyweight)的使用方法。

二、代码✅

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
public class User {
private String name;

public User(String name) {
this.name =name;
}

public String getName() {
return name;
}

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

public abstract class WebSite {
public abstract void use(User user);
}


import java.util.HashMap;//导包
public class WebSiteFactory {
//集合,充当池的作用
private HashMap<String,ConcreteWebSite> pool = new HashMap<>();

//根据网站类型,返回一个网站,如果没有就创建一个并放入池中
public WebSite getWebSiteCategory(String type){
if(!pool.containsKey(type)){
pool.put(type,new ConcreteWebSite(type));
}
return pool.get(type);
}

//获取网站分类数
public int getWebSiteCount(){
return pool.size();
}

}

public class ConcreteWebSite extends WebSite {
private String type = "";//网站发布形式,内部状态,共享部分

public ConcreteWebSite(String type) {
this.type = type;
}

@Override
public void use(User user) {
System.out.println("网站的发布形式为:" + type + "," + user.getName() + "在使用");
}
}

public class Client {
public static void main(String[] args) {
//创建一个工程类
WebSiteFactory webSiteFactory = new WebSiteFactory();

//A以一个新闻形式发布网站
WebSite newsWebsite = webSiteFactory.getWebSiteCategory("新闻");
newsWebsite.use(new User("A"));
//B以一个博客形式发布网站
WebSite blogWebsite1 = webSiteFactory.getWebSiteCategory("博客");
blogWebsite1.use(new User("B"));
//C以一个微信公众号形式发布网站
WebSite blogWebsite2 = webSiteFactory.getWebSiteCategory("微信");
blogWebsite2.use(new User("C"));

//D以一个博客形式发布网站
WebSite blogWebsite3 = webSiteFactory.getWebSiteCategory("博客");
blogWebsite3.use(new User("D"));

//实际网站发布分类实例
System.out.println("实际网站发布分类实例:" + webSiteFactory.getWebSiteCount());

}
}

类图

适配器方法

代码结果

工厂方法

第一章 人力资源管理概述 (5分)+1分(PPT)=6分

1.人力资源管理的定义。P7 (简答1道,5分)

人力资源是组织为了获取、开发、保持和有效利用在生产和经营过程中必不可少的人力资源,
从而运用科学、系统的技术和方法进行各种相关的计划、组织、领导和控制活动,实现对人力资源的全过程管理,
同时达到既定的目标。

第三章 工作分析与工作设计 (5分)

1.工作分析的基本内容。P39 (单选1道 2分)(判断1道 1分)

工作分析是:特定工作任务的目的,任务或职责,工作权限,隶属关系,工作条件,任职资格等相关信息进行收集。

基本内容:工作描述、工作规范

2.工作分析的基本术语。P43 (判断1道 1分)

工作要素、任务、职位、职责、职务(工人三责)

3.观察法、访谈法优缺点。P49-50(判断1道 1分)

第四章 人力资源规划 (9分)

1.人力资源规划的分类。P67 (单选1道 2分)

时间、层次、是否独立。
2.人力资源需求预测及方法 P74-75 (单选1道 2分)(判断1道 1分)
定性和定量

3.人力资源内部供给预测方法。P78 (单选1道 2分)

技能清单发和管理人员接替突发、员工替换法、马尔可夫模型
4.人力资源需求小于供给时的平衡方法。P83 (单选1道 2分)
减少工作时间、提前退休、临时解雇、增加无薪假期、减少人员补充、裁员
第五章 员工招聘与选拔 (39分)
1.影响招聘活动的因素(外部、内部影响因素)P88-89 (单选1道 2分)
外:国家的法律、外部劳动力市场、竞争对手

内:企业自身的形象、企业的招聘预算、企业的政策
2.表5-1两种招聘渠道的利弊分析。P91 (判断1道 1分)
内部招聘和外部招聘
3.内部招聘和外部招聘的来源和方法。P93-94 (单选1道 2分)
(判断1道 1分)
内部来源:下级人员晋升的方式、同级职位人员的工作轮换、上级人员降职。

内部方法:工作公告法、档案记录法

外部来源:学校、竞争者和其他公司、失业者、老年群体、军人、自我雇佣者

外部方法:广告招聘、外出招聘、借助职业中介结构招聘、推荐招聘

4.员工选拔录用的基本流程。P99 (案例分析中的1小题,10分)

①筛选申请材料、②各种测试(笔试)、③面试、④审核材料的真实性、⑤体检、⑥试用期考察 、⑦正式聘用

5.影响企业内部招聘和外部招聘的因素有哪些?(授课案例中的PPT有,案例分析中的1小题,10分)(案例分析中的1小题 10分)

1.所需招聘人才的层次,对于高层人员、技术骨干等,原则上优先考虑内部招聘
只有内部没有合适的人才的时候,才考虑外部招聘。对于普通员工,则可以优先考虑外部招聘。
如果内部招聘的优势没有得到很好的发挥则会导致适得其反,而对于那些企业急需但没有的紧缺人才才会考虑外部招聘

2.企业处于发展阶段。企业发展阶段可分为创业期、成长期、发展期和衰退期。不同阶段的企业可以结合招聘人才的层次进行招聘。

总结

这些都是基础的,不会的多多看前面文章.