当前位置:文档之家› 一步一步教你玩转.NET_Framework的配置文件app.config

一步一步教你玩转.NET_Framework的配置文件app.config

一步一步教你玩转.NET_Framework的配置文件app.config
一步一步教你玩转.NET_Framework的配置文件app.config

一步一步教你玩转.NET Framework的配置文件app.config

在一般的项目中,为了使你的代码更加灵活,更方便调整,减少不必要的hard code,我们都在config中添加许多配置信息,一般可以选择.NET自带的配置文件形式app.config或者web 项目中的web.config来完成配置工作。

.NET中提供了几个和配置有关的类来支持用完轻松的完成配置文件的读写设置:

System.Configuration.ConfigurationSectionGroup

一般和你项目中使用的Assambly保持1:1的对应关系,这样划分使得结构相对清晰,权责明确。当然你可以不使用它,这样一旦你的Assambly在别的地方要被重用时,找出相应的config信息就变得很困难。

System.Configuration.ConfigurationSection

维护一个相对独立的配置节,使用时需现在节点下声明。我们熟悉的以及

就是.NET为我们预留的一个Section。System.Configuration.ConfigurationElementCollection &

System.Configuration.ConfigurationElement

就是Section下具体的配置信息和配置信息的集合了。

下面来看看怎么使用这些类玩转app.config

1.初级玩法

最初级的用法当然是使用,我们在app.config 中添加

访问它

public class AppSettingConfig

{

public string resultValue;

public AppSettingConfig()

{

this.resultValue =

ConfigurationManager.AppSettings["MyConfigString"].ToString();

}

}

[TestMethod]

public void TestAppSettingConfigNode()

{

AppSettingConfig appCon = new AppSettingConfig();

Assert.AreEqual("Test Config Data", appCon.resultValue);

}

没有问题!

我们加个Section来看看如何访问:

type="System.Configuration.DictionarySectionHandler"/>

type="System.Configuration.DictionarySectionHandler"/>

注意我们在section的type中给出了

System.Configuration.DictionarySectionHandler,这也限制了我们在具体的ConfigurationElement中只能使用的形式,使得我们GetSection()方法返回的是一个IDictory对象,我们可以根据Key来取得相应的值

public class SectionConfig

{

public string resultValue;

public SectionConfig()

{

System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None );

IDictionary dic =

ConfigurationManager.GetSection("MySectionGroup/MySecondSection") as IDictionary;

this.resultValue = dic["Second"].ToString();

}

}

[TestMethod]

public void TestSectionGroupConfigNode()

{

SectionConfig sc = new SectionConfig();

Assert.AreEqual("First Section", sc.resultValue);

}

还是没问题。

2. 中级玩法

.NET支持对上述提到的configuration类进行扩展,我们可以定义自己的Section。

继承自基类System.Configuration.ConfigurationSection,ConfigurationSection已经提供了索引器用来获取设置数据。

在类中加上ConfigurationProperty属性来定义Section中的Element:public class CustomSection:System.Configuration.ConfigurationSection

{

[ConfigurationProperty("sectionId", IsRequired=true,

IsKey=true)]

public int SectionId {

get { return (int)base["sectionId"]; }

set { base["sectionId"] = value; }

}

[ConfigurationProperty("sectionValue", IsRequired = false)] public string SectionValue {

get { return base["sectionValue"].ToString(); }

set { base["sectionValue"] = value; }

}

}

操作此Section,我们将其动态加入app.config中,并读出来:

public class CustomSectionBroker

{

private CustomSection customSection = null;

public void InsertCustomSection()

{

customSection = new CustomSection();

customSection.SectionId = 1;

customSection.SectionValue = "The First Value";

System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None );

config.Sections.Add("CustomSection", customSection);

config.Save(ConfigurationSaveMode.Minimal);

}

public int GetCustomSectionID()

{

System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None );

CustomSection cs = config.GetSection("CustomSection") as CustomSection;

return cs.SectionId;

}

}

[TestMethod]

public void TestCustomSection()

{

CustomSectionBroker cb = new CustomSectionBroker();

cb.InsertCustomSection();

Assert.AreEqual(1, cb.GetCustomSectionID());

}

可以看下现在app.config文件的变化:

type="Tonnie.Configuration.Library.CustomSection, Tonnie.Configuration.Library, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />

type="System.Configuration.DictionarySectionHandler"/>

type="System.Configuration.DictionarySectionHandler"/>

增加了一个单独的Section,名为"CustomSection",并且包含了我们创建的2个configurationProperty。

我们还可以继续作扩展,现在我们的config中section的部分呈现的是 ,这样对于复杂的配置信息仍然不方便,我们是不是可以继续扩展,将其变成比较合理的

这种方式呢?我们为创建扩展自ConfigurationElement类的子类CustomSectionElementA,然后修改CustomSection类中的Property,使得类型不再是int 或string,而是我们创建的新类CustomSectionElementA.

由于ChildCustomSectionA 和ChildCustomSectionB 的结构相对一致,根据面向对象的开发封闭原则,我们可以先抽象出一个base类,然后让ChildCustomSectionA,ChildCustomSectionB分别继承自此base类,当以后要添加更多的ChildCustomSectionC,ChildCustomSectionD…时,使用这种Template的设计模式,将更加灵活。

public abstract class

CustomSectionElementBase:System.Configuration.ConfigurationElement

{

[ConfigurationProperty("childId", IsRequired=true, IsKey=true)] public int ChildID

{

get{return (int)base["childId"];}

set{base["childId"] = value;}

}

[ConfigurationProperty("childValue", IsRequired=true)] public string ChildValue

{

get{return base["childValue"].ToString();}

set{base["childValue"] = value;}

}

}

public class CustomSectionElementA:CustomSectionElementBase

{

public CustomSectionElementA()

{

base.ChildID = 1;

base.ChildValue = "ChildA";

}

}

public class CustomSectionElementB:CustomSectionElementBase

{

public CustomSectionElementB()

{

base.ChildID = 2;

base.ChildValue = "ChildB";

}

}

完成了ConfigurationElement的实现,我们可以改写我们上一个例子中定义的CustomSection类了:

public class

CustomSectionWithChildElement:System.Configuration.ConfigurationSecti on

{

private const string elementChildA = "childSectionA";

private const string elementChildB = "childSectionB";

[ConfigurationProperty(elementChildA, IsRequired=true,

IsKey=true)]

public CustomSectionElementA ChildSectionA {

get { return base[elementChildA] as CustomSectionElementA; }

set { base[elementChildA] = value; }

}

[ConfigurationProperty(elementChildB, IsRequired = true)] public CustomSectionElementB ChildSectionB {

get { return base[elementChildB] as CustomSectionElementB; }

set { base[elementChildB] = value; }

}

}

public class CustomSectionWithChildElementBroker

{

private CustomSectionWithChildElement customSection = null;

public void InsertCustomSection()

{

customSection = new CustomSectionWithChildElement();

customSection.ChildSectionA = new CustomSectionElementA(); customSection.ChildSectionB= new CustomSectionElementB();

System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None );

config.Sections.Add("CustomSectionWithChildElement", customSection);

config.Save(ConfigurationSaveMode.Minimal);

}

public int GetCustomSectionChildAID()

{

System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None );

CustomSectionWithChildElement cswe =

config.GetSection("CustomSectionWithChildElement") as CustomSectionWithChildElement;

return cswe.ChildSectionA.ChildID;

}

}

红色字体就是修改的地方了,将Property改成我们自定义类的形式.测试代码如下:

[TestMethod]

public void TestCustomSectionWithChildElement()

{

CustomSectionWithChildElementBroker cweb = new CustomSectionWithChildElementBroker();

cweb.InsertCustomSection();

Assert.AreEqual(1, cweb.GetCustomSectionChildAID());

}

看看运行后我们的app.config变成什么样子了:

type="Tonnie.Configuration.Library.CustomSectionWithChildElement,

Tonnie.Configuration.Library, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />

type="Tonnie.Configuration.Library.CustomSection, Tonnie.Configuration.Library, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />

type="System.Configuration.DictionarySectionHandler"/>

type="System.Configuration.DictionarySectionHandler"/>

cool,好像完成了我们的要求。

下面为我们的CustomSectionWithChildElement外面再加一层SectionGroup.

public class CustomSectionGroup :

System.Configuration.ConfigurationSectionGroup

{

[ConfigurationProperty("customSectionA", IsRequired = true, IsKey = true)]

public CustomSectionWithChildElement SectionA

{

get { return base.Sections["customSectionA"] as CustomSectionWithChildElement; }

set

{

this.Sections.Add("customSectionA", value);

}

}

}

public class CustomSectionGroupWithChildElementBroker

{

private CustomSectionWithChildElement customSection = null;

public void InsertCustomSectionGroup()

{

customSection = new CustomSectionWithChildElement();

customSection.ChildSectionA = new CustomSectionElementA(); customSection.ChildSectionB= new CustomSectionElementB();

CustomSectionGroup sectionGroup = new CustomSectionGroup(); System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None );

if (config.GetSectionGroup("customSectionGroup") == null)

config.SectionGroups.Add("customSectionGroup",sectionGroup);

sectionGroup.SectionA = customSection;

config.Save(ConfigurationSaveMode.Minimal);

}

public int GetCustomSectionChildAID()

{

System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None );

CustomSectionWithChildElement cswe =

config.GetSection("customSectionGroup/customSectionA") as CustomSectionWithChildElement;

return cswe.ChildSectionA.ChildID;

}

}

测试一下:

[TestMethod]

public void TestCustomSectionGroupWithChildElement()

{

CustomSectionGroupWithChildElementBroker cweb = new CustomSectionGroupWithChildElementBroker();

cweb.InsertCustomSectionGroup();

Assert.AreEqual(1, cweb.GetCustomSectionChildAID());

}

没问题,看下现在的app.config,是不是更加结构化了:

type="System.Configuration.DictionarySectionHandler"/>

type="System.Configuration.DictionarySectionHandler"/>

type="Tonnie.Configuration.Library.CustomSectionGroup,

Tonnie.Configuration.Library, Version=1.0.0.0, Culture=neutral,

PublicKeyToken=null" >

type="Tonnie.Configuration.Library.CustomSectionWithChildElement,

Tonnie.Configuration.Library, Version=1.0.0.0, Culture=neutral,

PublicKeyToken=null" />

3 高级玩法

到目前为止可能大家对app.config有了一定的认识了,我们自己可以不断的去扩展.NET Framework提供给我们的类,从

SectionGroup,Section,ElementCollection,Element 从上自下的一级一级的组装成符合工程化项目配置文件需要的形式。当遇到可能配置元素的类型属性差不多时,可以抽象出一个base类来。比如可以抽象出Section这一层面的base 类,或者ElementCollection,Element这一层的抽象类(可以是抽象的泛型类)来。同时增加泛型来更好的支持扩展。具体例子下次再给了。

附上所有代码https://www.doczj.com/doc/6613901050.html,/tonnie/Tonnie.Configuration.rar

公司内部的争吵、头脑风暴、和深度汇谈

公司内部的争论、头脑风暴、和深度汇谈 中国有句古语,三个臭皮匠顶个诸葛亮。实际上,三个臭皮匠并不能变成诸葛亮,甚至还可能顶不上一个臭皮匠,就像另一句中国古话说的那样,一个和尚挑水喝,两个和尚抬水喝,三个和尚没水喝。三个臭皮匠和一个臭皮匠的区别在于,三个臭皮匠具有了顶个诸葛亮的可能性,但要真正变成诸葛亮,取决于这三个臭皮匠在一起,能不能用正确的姿势讨论问题。拿企业来说,三个臭皮匠在一起讨论问题,有三层境界:争论、头脑风暴、和深度汇报。 争论 争论很容易理解,职场生涯稍微长一点的人都经历过,比如在某个大公司的会议室里,部门经理A和部门经理B当着总经理的面,面红耳赤地争论,可能为了推卸责任,也可能为了争取某个利益。创业公司的争论也很常见,CEO、产品经理、UI等围绕一个产品需求各持己见。争论这件事并非一无是处,很多时候还是有价值的,不过容易沦为毫无意义的争吵,大家都坚守自己的观点,吵了半天没有任何结论。所以争论是企业内常见但没有技术含量的讨论问题方式。 头脑风暴 第二层境界是头脑风暴。现代创造学奠基人美国奥斯本最早提出了头脑风暴,理念是多人围绕某个议题相互激发并汇集创意。要运用头脑风暴,首先要确定议题。对企业而言,议题可以是战略、客户、产品、服务、和市场营销等方面的问题。 议题产生之后,就可以组织实施了。为了提高效率,组织者需提前将议题和背景资料发给所有人,先让参与者独立思考,并将个人的思考结果发给组织者。组织者再将汇总结果发给每个人,这个过程可以预热每个人的思维。 上述准备阶段完成后,组织者应该挑选有代表性人员参与,某些情况下,也可以按照如下方法挑选参与者:先将头脑风暴的议题发给所有员工,然后根据每个人对议题的回答,挑选出有代表性的且思路活跃的人作为参与者。 头脑风暴以会议的形式正式开始后,需要主持人和记录员。主持人先要宣布头脑风暴的原则和纪律。在头脑风暴过程中,遵循一些原则对头脑风暴的最终结果至关重要。比如创新能力卓越的IDEO公司,在公司内规定了头脑风暴七原则:推迟评价、鼓励狂野创意、给创意标号、专注、在创意上加创意、视觉化、一人

头脑风暴法-教学设计

“头脑风暴法”与地理课堂教学 ————《城市化过程中的问题及其解决途径》教学设计 (作者单位:河北师范大学资源与环境科学学院侯丹丹裴斐050016) 一、头脑风暴法 头脑风暴法(Brain Storming),又译智力激励法,是指通过一种特殊的“会议” 形式,使参加人员积极思考、畅所欲言、互相启发,为解决问题提供出一系列创造性设想的创造方法。它是中小学生创造力开发方法之一,(大学课堂也经常运用此法),是由美国创造学家奥斯本发明的,以后各国的创造家又根据具体情况对此法进行了修改,发展了许多种头脑风暴法,如默写式头脑风暴法、卡片式头脑风暴法等。 头脑风暴法的实施原则是: 1、不得批评原则。 与会者不得批评别人的想法,否则会使发言者设法去维护他的想法,而不去关心观念的产生。一种观念的产生还可能会引发另外的想法,批评就可能扼杀许多新观念。 2、自由畅想原则。 奥斯本认为,人们容易保持沉默,这就限制了思维的展开。鼓励与会者畅所欲言,让他们敢于提出自己的见解,哪怕是非常荒诞的想法。这样会减少他们头脑中的内部评价。 3、以量求质原则。 以量为主,量中求质。 4、综合改善原则。 与会者不仅可以提出自己的见解,也可以改进他人的观点,把别人的想法综合起来,形成一个新观念。 头脑风暴法能够使群体增强竞争意识,受到热情感染;能够使大家各抒己见; 每个人还能充分利用别人的设想来触发自己灵感的火花,或把几个人的想法综合改造,建构成一个新的设想。 二、材分析与学情分析 本课题是关于城市化过程中的问题及解决途径,结构简单,贴近学生生活实际,适于运用头脑风暴法,进行探究式教学。 三、三维目标

1、知识与技能:通过学生本人积极思考及其他同学的发言和互相讨论,使 学生了解城市化过程中产生的诸多问题,掌握保护和改善城市环境的基本措施,提出自己对此问题的独特见解。培养学生的创造性思维,提高学生认识问题、解决问题的能力。 2、过程与方法:头脑风暴法、图片展示法、板画法,案例讲解法。 3、情感态度与价值观:培养学生的环保意识。 四、教学重点: 城市如何解决发展过程中的各种问题,走可持续发展的道路。(以上海市为例)五、教学过程(简化) 【导入新课】 用幻灯片展出当今上海市市区优美环境图片、一些落后的中小城市脏乱差的市区环境图片,引导学生思考“这些小城市怎么了?” 【讲授新课】 (按照头脑风暴法的原则,不得批评,畅所欲言,积极引导学生思考与发言。 一边听取学生的想法一边板书,最终由教师总结与补充。) (师)我们已经学习过发展中国家的城市化过程是不合理的,主要表现为出现了诸多城市环境问题。同学们结合自己的生活实际(例如石家庄),说一说城市环境问题的表现有哪些。请大家踊跃发言。 (生)①空气质量越来越差,石家庄的晚上很少能看着星星和月亮;②上下班高峰期容易出现交通拥挤现象;③民心河的水又脏又臭,鱼都死了,公园里的水也都是死水;④白色污染很严重;⑤马路上的车很吵,影响我们学习,车多还会造成空气污染;⑥房价一直上涨,许多人买不起房子了…… (给各位学生以鼓励的话语和眼神,教师总结、讲解。) 【本阶段板书】 城市化过程中的问题及其解决途径 一、产生的问题: 1.环境质量下降

头脑风暴试题答案

头脑风暴知识竞赛试题答案及页 一、基础部分 1、判断对错(对的打√,错的×) (1)、课堂是教学质量提高的主阵地,课堂是靠实功夫,来不得半点虚假,必须扎扎实实。(√) (2)、新课程提倡教师在教学中“要用教材教教,而不是教教材”(√)p7 (3)、“语文主题学习”中“主题”应该是“思想情感主题。”(×)(48页) (4)、当前区教研室关于语文教学的基本观点:重习惯养成,特别是读书习惯和写字姿势、习惯及整本书阅读教学。(√)(63页) (5)、主题式单元整体教学的思想只在语文教学中可以运用。(×)(5页) 2、单选 (1)、当学生学习一本新教材时,教师首先要上一堂(B ),结合知识树或纲要信号图表把这本书的知识结构给学生讲清楚,让学生从整体上了解全书的知识结构。(4页) A (新授课) B(综合课) C (矫正课)D (练习课) (2)、新课程提倡教师在教学中( C )要“用好教材,超出教材,开发课程资源”。(7页) A 只教材教。 B 不用教材 C 用教材教,而不是教教材

(3)、我们说把语文课上成( A ),就是要尊重语文学习独特的规律。21页 A、语文课 B 政治课 C 综合科 (4)、“语文主题学习”实验是通过( C )来学习语文。59页 A 课外阅读 B 课内阅读 C 课内阅读、课内学习(5)、我们主题学习的流程大致是:单元导读----以文代读----群文阅读----整本书阅读----( A )42页 A 综合性实践活动 B 复习考试 C 自由阅读 3、简答题 (1)、整体建构的和谐教学有一个基本的教学模式,具体环节是什么吗?1页 答:1、导入新课,明确目标2、自学指导,整体感知。3、检查点拨,探寻规律。4、深入探究,回归系统。 (2)、没有角色的文章也有规律,也是通过三问引导学生读书,这三问是什么? 6页 答:1、本文分为几部分?(几部分)2、每部分主要写了什么事物(什么事物)?3、每件事物是怎样描写的(如何描写)? (3)、什么是主题式单元整体教学?8页 答:所谓主题式单元整体教学,就是教师要把一个单元看作是一个整体,围绕单元的主题把课堂教学、课外阅读、写作、

头脑风暴案例

一、砸核桃的案例 组长:我们的任务是砸核桃,要求多、快、好,大家有什么办法? 甲:平常在家里用牙磕,用手或榔头砸,用钳子夹,用门掩。组长:几个核桃用这种办法行,但核桃多怎么办? 乙:应该把核桃按大小分类,各类核桃分别放在压力机上砸。丙:可以把核桃粘上粉末一类的东酉,使它们成为一般大的圆球,在压力机上砸,用不着分类。(发展了上一个观念) 丁:粘上粉末可能带磁性,在压力机上砸压后,或者在粉碎机上粉碎后,由于磁场作用,核桃壳可能脱掉,只剩下核桃仁。(发展了上一个观念,并应用了物理效应) 组长:很好!大家再想想用什么样的力才能把核桃砸开,用什么办法才能得到这些力。 甲:应该加一个集中的挤压力。用某种东西冲击核桃,就能产生这种力,或者相反,用核桃冲击某种东西。 乙:可以用气枪往墙壁上射核桃,比如说可以用射软木塞的儿童气枪射。 丙:当核桃落地时,可以利用地球引力产生力。 丁:核桃壳很硬,应该先用溶剂加工,使它软化、溶解……或者使它们变得很脆。经过冷冻就可以变脆。

组长:动物是怎么解决这一任务的,比如乌鸦? 甲:鸟儿用嘴啄……或者飞得高高的,把核桃扔在硬地上。我们应该把核桃装在容器里,从高处往硬的地方扔,比如说在气球上、直升飞机上、电梯上往水泥板上扔,然后把摔碎的核桃拾起来。(类比) 乙:可以把核桃放在液体容器里,借助水力冲击把核桃破开。(物理效应) 组长:是否可用发现法如认同、反向……解决问题呢? 丙:应该从里面把核桃破开,把核桃钻个小孔,往里面打气加压。(反向) 丁:可以把核桃放在空气室里,往里打气加压,然后使空气室里压力锐减,内部压力就会使核桃破裂,因为内部压力不可能很快减少。(发展了上一个观念)或者可以急剧增加和减少空气室压力,这时核桃壳会承受交变负荷。 戊:我是核桃,是核桃仁。从核桃壳内部,我用手脚对它施加压力,外壳就会破裂。(认同)应该不让外壳长,只让核桃仁长,就会把外壳顶破。(理想结果)为此,例如可以照射……外壳。 乙:我也是核桃。我用手抓住树枝,当成熟时就撒手掉在硬地上摔破。应该把核桃种在悬崖峭壁上,或种在陡坡上,它们掉下来就掉破。

科学教学头脑风暴带给我们的启示

科学教学头脑风暴带给我们的启示 3月2日,第二届小学科学教学头脑风暴研讨会如期举行,来自科学教学一线的老师们齐聚实小,针对苏教版教材中的教学细节,结合自己的教学经验,老师们各抒己见,共同研讨新课改形势下的科学教学。 整个研讨会持续了一上午的时间,进行的有条不紊,大家研讨的气氛非常热烈,都提出了主题鲜明的科学思想以及详细的问题解决方案,对问题的剖析非常深刻,最后研讨的方向归结为三个主题:(1)科学课堂教学中怎样培养学生的问题意识?(2)怎样培养学生的持续探究能力?如何让学生在上完科学课后,积极探索起来,产生教学的效应,使课上探究与课下探究有效衔接,让科学服务于学生的生活,让生活中的科学与课堂上的科学探究活动结合起来?可以说,这两个问题正反映出我们的教学、我们的学生中存在的薄弱环节,也是关乎科学教学长期发展亟待解决的问题。 问题一解决策略:(1)丰富学生的知识面,拓展学生的视野。逐步培养学生养成阅读科普读物的习惯,关注生活中的科学常识,了解科学前沿动态,紧跟时代步伐。(2)教师要善于引导,打破常规提问题。对于学生的问题,老师有时也要故作糊涂,适时追问,对于科学探究问题能形成有效的问题链。(3)根据课题、材料、实验提问题,形成问题互动机制。 问题二解决策略:(1)点拨在课堂,功夫在课下。课堂时间是有限的,课下的探究才能真正体现学生的个性,可以将课堂上的某一个

科学问题延伸成为一个小课题,这样问题的形式就多样化了,覆盖的知识面也拓宽了。(2)课前准备也是探究的过程,针对课堂上要解决的问题,要验证的实验进行有效地分析,大胆的猜想。有时课前准备的时间周期长,比如建立一个植物生长的档案,这就需要我们提前安排计划,可以借用相机、DV等工具记录下来。有时课前准备时间短,比如准备某一个实验的材料。总之,无论哪种准备,要让学生尽量去考虑去做,老师只准备学生不容易弄到的。(3)课后拓展要抓住学生兴趣。让科学回归生活,才能充分调动学生的探究积极性。引导学生利用课堂知识解决生活中的实际问题,形成研究成果,可以做成手抄报、资料袋、刻成光盘、建立博客等方式,让自己的研究成果与大家分享,体验成功的乐趣。

思维导图教你如何正确的进行头脑风暴

思维导图教你如何正确的进行头脑风暴 导读: 在工作和学习中,你是不是常常会遇到这样的问题:想要筹划或执行一个活动,却常常手忙脚乱;想要从书本中获取知识,却常常看完就忘记了。相信这是许多人面临的共同问题,遇到这种情况,我们不妨采用东尼·博赞的思维导图法来管理自己的思维,以提升自己的思维能力和记忆力。 什么是头脑风暴? 头脑风暴,顾名思义就是一种像风暴一样凶猛的大脑思维方式,它能帮助我们快速激发灵感和思绪。狭义的头脑风暴是描述大脑快速思维的过程,而广义的头脑风暴则涵盖思维过程和思维手段,简单来说,思维导图也是一种广义的头脑风暴。

在最初,头脑风暴是精神病理学上的一个名词。后来经过时间和奥斯本的转化,才有了全新的涵义。“头脑风暴法”由美国BBDO广告公司奥斯本首创,主要指工作小组人员在正常融洽和不收限制的环境气氛中以会议的方式进行讨论、打破常规、积极思考、充分发表看法。所以说“头脑风暴”是一种产生创意和想法的方法,通过汇聚会议中不同人的观点,从中产生新的创意点。 如何正确进行头脑风暴? 在进行头脑风暴之前,对于集体和个人各要做一个准备。集体需要明确知道为什么要做头脑风暴,然后确定头脑风暴的成员。对于个人,在明确头脑风暴主题后,需要收集主题相关资料,了解主题,等风暴开始时,脑子里才有内容去碰撞。 头脑风暴进行时,需要注意以下思维导图中的准则。即“没有坏主意、没有不值得回答的问题、准备扼杀自己的婴儿、知道什么时候说什么话、好记性不如烂笔头”五点。 头脑风暴后,重要的内容才开始。脑暴之后我有们很多天马行空的点子,但此时加上我们的限制条件之后,可行的或许就不多了。最后我们要做一个梳理过程,也可以说是筛选,不是所有的创意都能走到最后的。 头脑风暴工具 现在头脑风暴不仅仅只有借助黑白板来进行,在一些办公软件中也是有这个功能的,比如MindMaster思维导图。会议可以将重点用思维导图罗列出来,然后使用思维导图模式开始讨论。比黑板好的就是点子可以更好的记录下来,展示型更强。在互联网发展日益迅速的时代,借助MindMaster开始头脑风暴或许是一个不错的方式。

团队头脑风暴法

1. (团队头脑风暴法)是一种利用集体智慧思考和解决问题的团队创新性思维方法。 2. “成果”是绩效评估的标准之一,关于“成果”标准考察的问题,说法不正确的是(各个团队之间的工作是如何协调一致的)。 3. “领导者要公正,要以事实而不是感觉为依据”属于营造信任氛围中的(客观并一视同仁)的方法。 4. “平衡计分卡”的方法一般从四个角度来衡量组织的业绩和战略,不属于这四个角度的选项是(员工)角度。 5. “销售的情况在不同的季节变化很大,我们无法得到确切的数据,还是按照老李的预测,即底下两个月每月会增长5%”。这种句话体现团队成员之间的(信任)。 6. “与标准相比较”是控制过程的步骤之一,此步骤(可以发现实际工作与标准之间的偏差)。 7. “在一旁观察别人的工作情况”属于非正式学习中的(工作观摩)。 8. “在做出决策以前及时提供信息以供参考”,这是考虑到优质信息特点中的(恰当的时间)。 9. “在做出决策以前及时提供信息以供参考”,这是考虑到优质信息特点中的(恰当的时间)。 10. “综合”是绩效评估的标准之一,考察(团队的目标与整个组织的目标是否一致)属于以“综合”为标准的绩效评估。 11. ABC公司上个月组织了几次集中学习,现在需要对学习的效果进行评估,下面一般不属于应该评估的内容的是(学习的地点)。 12. PEST分析法主要用来分析企业的((B)外部环境)。 13. SWOT S—优势 W—劣势 O—机会 T—威胁 14. SMART目标中的A代表((C)可达到的)。 15. SMART目标中的S代表((A)明确的)。 16. SMART原则在我们制定目标时有很大的帮助,以下不属于SMART原则的是((C)不要一次设定三个以上的发展目标)。 17. SMART原则中的S代表(A明确的)。 18. SMART原则中的T代表( D有时间规定的)。 19. SMART原则中字母与其含义,对应不正确的是(M——可实现的)。 20. SMART原则中字母与其含义,对应正确的是( R—可实现的,T—有时间规定的)。 ) 21. SMART原则中字母与其含义,对应正确的是( S——明确的)。 字母A 22. 按照KOLB学习周期,从获得经验阶段开始学习,首先应该(实践一些从未做过的事情)。 23. 按照KOLB学习周期,一个完整的学习过程包含四个阶段,不属于这四个阶段的是( C认真分析)。

模拟头脑风暴法进行决策

模拟头脑风暴法进行决策 《砸核桃的案例》 组长:我们的任务是砸核桃,要求多、快、好,大家有什么办法? 甲:平常在家里用牙磕,用手或榔头砸,用钳子夹,用门掩. 组长:几个核桃用这种办法行,但核桃多怎么办? 乙:应该把核桃按大小分类,各类核桃分别放在压力机上砸. 丙:可以把核桃粘上粉末一类的东酉,使它们成为一般大的圆球,在压力机上砸,用不着分类.(发展了上一个观念) 丁:粘上粉末可能带磁性,在压力机上砸压后,或者在粉碎机上粉碎后,由于磁场作用,核桃壳可能脱掉,只剩下核桃仁.(发展了上一个观念,并应用了物理效应) 组长:很好!大家再想想用什么样的力才能把核桃砸开,用什么办法才能得到这些力. 甲:应该加一个集中的挤压力.用某种东西冲击核桃,就能产生这种力,或者相反,用核桃冲击某种东西. 乙:可以用气枪往墙壁上射核桃,比如说可以用射软木塞的儿童气枪射. 丙:当核桃落地时,可以利用地球引力产生力. 丁:核桃壳很硬,应该先用溶剂加工,使它软化、溶解……或者使它们变得很脆.经过冷冻就可以变脆. 组长:动物是怎么解决这一任务的,比如乌鸦? 甲:鸟儿用嘴啄……或者飞得高高的,把核桃扔在硬地上.我们应该把核桃装在容器里,从高处往硬的地方扔,比如说在气球上、直升飞机上、

电梯上往水泥板上扔,然后把摔碎的核桃拾起来.(类比) 乙:可以把核桃放在液体容器里,借助水力冲击把核桃破开.(物理效应) 组长:是否可用发现法如认同、反向……解决问题呢? 丙:应该从里面把核桃破开,把核桃钻个小孔,往里面打气加压.(反向) 丁:可以把核桃放在空气室里,往里打气加压,然后使空气室里压力锐减,内部压力就会使核桃破裂,因为内部压力不可能很快减少.(发展了上一个观念)或者可以急剧增加和减少空气室压力,这时核桃壳会承受交变负荷. 戊:我是核桃,是核桃仁.从核桃壳内部,我用手脚对它施加压力,外壳就会破裂.(认同)应该不让外壳长,只让核桃仁长,就会把外壳顶破.(理想结果)为此,例如可以照射……外壳. 乙:我也是核桃.我用手抓住树枝,当成熟时就撒手掉在硬地上摔破.应该把核桃种在悬崖峭壁上,或种在陡坡上,它们掉下来就掉破. 甲:应该掘口深井,井底放一块钢板,在核桃与深井之间开几道沟槽.核桃从树上掉下来,顺着沟槽滚到井里,摔在钢板上就会摔破. 结果,仅用十分钟就收集了四十个观念,经专家组评价,从中得出参考解决方案。

头脑风暴题库

头脑风暴题库【有答案】 1. 世界四大洋中面积最小的是:(D) 太平洋大西洋印度洋北冰洋 2. 世界上海拔最高的山峰是哪一座?(B) 乔戈里峰珠穆朗玛峰干城章嘉峰公格尔山峰 3. 下列海洋中哪一个是我国最大的海?(A) 南海东海黄海渤海 4. 按年呑吐量算世界最大的港口是:(C) 纽约港神户港鹿特丹港上海港 5. 美国是于哪一年宇宙飞船登月成功?(C) 1964 1965 1966 1967 6. 下列哪一个湖泊是在我国江西省的境内:(B) 洞庭湖鄱阳湖太湖洪泽湖 7. 下列我国名茶中哪一种是产于福建安溪:(D) 龙井碧螺春武夷岩茶铁观音 8. 吉林省抚松县被人们称为是哪种药材之乡?(C) 当归枸杞人参田七 9. 石头城是对我国哪座城市的美称?(B) 南昌南京拉萨西安 10. "山城"是我国哪座城市的雅号?(C) 洛阳西安重庆福州 11. 峨眉山位于我国哪个省份?(A) 四川云南贵州西藏 12. 我国面积最大的湖泊是:(A) 青海湖鄱阳湖洞庭湖太湖 13. "鲁"是我国哪个省份的简称:(C) 河北吉林山东山西 14. 世界部分首都是以人名命名的,下列哪个不是:(B) 华盛顿莫斯科巴黎科伦坡 15. 下列河流哪一条是世界流程最长:(A)

尼罗河长江亚马孙河密西西比河 16. 世界最大的内陆国是:(B) 阿富汗哈塞克斯坦瑞士蒙古 17. 下列哪个岛国不是欧洲国家?(B) 爱尔兰马尔代夫马耳他冰岛 18. 下列哪个国家被称为"袋鼠之国"?(C) 索马里新西兰澳大利亚肯尼亚 19. 世界国土面积最小的国家是:(A) 梵蒂冈摩纳哥瑙鲁图瓦卢 20. 世界石油储量最多是哪一个国家?(D) 伊拉克伊朗科威特沙特阿拉伯 21. 下列哪一个城市不是我国的"三大火炉"(高温)之一?(B) 重庆成都武汉南京 22. 请问:火车连续发出两声长鸣,这表示:(C) 前进停留倒退故障 23. 轮船发出六声短笛,这是表示什么呢?(D) 倒退避让转弯遇险 24. 下列著名宫殿哪个位于英国?(C) 故宫凡尔赛宫白金汉宫克里姆林宫 25. 著名风景区九寨沟位于我国哪个省?(D) 台湾云南广西四川 26. 下列五岳中哪座称"中丘":(B) 泰山嵩山华山桓山E、衡山 27. 下列哪座山不属于我国四大佛山之一:(A) 雁荡山五台山九华山峨眉山E、普陀山 28. 我国最大的佛像是哪一座?(D) 潼南金佛屏山大佛荣成大佛乐山大佛 29. 我国现有四大古桥,其中哪座位于广东潮州?(B) 赵州桥湘子桥芦构桥洛阳桥

文本预览
相关文档 最新文档