导航:首页 > 活动策略 > 去抽象化营销案例

去抽象化营销案例

发布时间:2021-05-11 18:03:07

① 分别举例“化深奥为浅显”的句子,化“抽象为具体”的句子。

化“抽象为具体”的句子有李煜(五代)的《虞美人·春花秋月何时了》:“问君能有几多愁,恰似一江春水向东流”、李白(唐)的《宣州谢脁楼饯别校书叔云》:“抽刀断水水更流,举杯消愁愁更愁”、;化“深奥为浅显”的句子:李白(唐)的著名诗篇《秋浦歌》:“白发三千丈,缘愁似个长”。

② 如何高逼格玩转场景化营销

在ASP.NET网站里(也包括其他有web.config, app.config)的.NET工程里,读AppSettings的值是个很常见的场景。比如: <add key="EnableAzureWebTrace" value="true"/> 在代码里读的时候就会用到: ConfigurationManager.AppSettings["EnableAzureWebTrace"]; 这个[]索引器返回的是string类型。所以下一步咱们通常需要类型转换才能在代码里拿来用。比如这个例子里,咱们就要转换成bool。其他时候,可能要转换为int等类型。 string enableAzureWebTraceConfig = ConfigurationManager.AppSettings["EnableAzureWebTrace"]; bool enableAzureWebTrace = bool.Parse(enableAzureWebTraceConfig); if(enableAzureWebTrace) { // do some logic } 但问题是,config文件的值对于咱们代码来说是不稳定因素,不可控的,这里拿回来的string未必能正确转换格式。所以通常会用TryParse方法来防爆: string enableAzureWebTraceConfig = ConfigurationManager.AppSettings["EnableAzureWebTrace"]; bool enableAzureWebTrace = false; if (bool.TryParse(enableAzureWebTraceConfig, out enableAzureWebTrace) && enableAzureWebTrace) { // do some logic } else { throw new ConfigurationException("EnableAzureWebTrace value must be true of false."); } 当然,不要忘了一点。读出来的string有可能首先就是空的。所以又得加上对string的判断,并且考虑到ConfigurationManager.AppSettings[]索引器本身可能会爆,所以还得加try-catch,最终代码就变成这样了: try { string enableAzureWebTraceConfig = ConfigurationManager.AppSettings["EnableAzureWebTrace"]; if (!string.IsNullOrEmpty(enableAzureWebTraceConfig)) { bool enableAzureWebTrace = false; if (bool.TryParse(enableAzureWebTraceConfig, out enableAzureWebTrace) && enableAzureWebTrace) { // do some logic } else { throw new ConfigurationException("EnableAzureWebTrace value must be true of false."); } } } catch (ConfigurationException ce) { // error handling logic throw; } 这样的代码非常没有逼格,重用性很差,如果自己的config里面AppSettings比较多,或者一个settings在程序里到处被用,显然不应该每次都把这样的代码到处复制。所以封装一下呗: public bool IsEnableAzureWebTrace() { try { bool enableAzureWebTrace = false; string enableAzureWebTraceConfig = ConfigurationManager.AppSettings["EnableAzureWebTrace"]; if (!string.IsNullOrEmpty(enableAzureWebTraceConfig)) { if (!bool.TryParse(enableAzureWebTraceConfig, out enableAzureWebTrace)) { throw new ConfigurationException("EnableAzureWebTrace value must be true of false."); } } return enableAzureWebTrace; } catch (ConfigurationException ce) { // error handling logic return false; } } 现在要用到EnableAzureWebTrace的地方都只要调用public bool IsEnableAzureWebTrace()就行了,就把如何读config的逻辑抽离了。重构的目的是,万一以后读config的机制变了,只 要改这一处。不用到处改。但是,重构的粒度还不够。这个方法只能用来读EnableAzureWebTrace这一个设置。要通用一下,让它也能 读其他bool类型的设置。把key单独的抽出来变成参数: public bool GetBooleanConfiguration(string key) { try { bool val = false; string rawConfigValue = ConfigurationManager.AppSettings[key]; if (!string.IsNullOrEmpty(rawConfigValue)) { if (!bool.TryParse(rawConfigValue, out val)) { throw new ConfigurationException(string.Format("{0} value must be true of false.", key)); } } return val; } catch (ConfigurationException ce) { // error handling logic return false; } } 但是这还不够,因为这个方法只能满足于bool类型的config,咱们希望有个公用的方法,能读取其他类型。这时候就需要用泛型了。把返回类型给抽离出来。 难点在于,每种数据类型的类型转换写法不一样。比如bool类型是bool.TryParse,int类型是int.TryParse,怎么把这部分逻辑抽象出来呢? 一种办法是用C#本身的类型转换: (T) Convert.ChangeType(rawConfigValue, typeof (T)); 另一种是把类型转换的逻辑作为委托加在方法的参数里,这样就用lambda表达式去传,咱比较偏向这种方法,因为方法的调用者能非常清晰的知道“该干嘛,该怎么干”。 这时候,如果因为非法类型转换爆,是得让调用者知道的。所以个人偏向把TryParse改为Parse,死就要死个明白。 public T GetConfiguration<T>(Func<string, T> parseFunc, string key) { try { T val = default(T); string rawConfigValue = ConfigurationManager.AppSettings[key]; if (!string.IsNullOrEmpty(rawConfigValue)) { return parseFunc(rawConfigValue); } return val; } catch (ConfigurationException ce) { // error handling logic return default(T); } } 现在,调用这个方法就能这样去写: GetConfiguration<bool>(bool.Parse, "EnableAzureWebTrace"); 看起来已经很牛逼了。但其实还不够。考虑到之前说的config值为空字符串的问题,安全一点的做法是,当遇到空字符串时候,返回一个默认值。因为 这种错误,并不是key不存在的错误,而是key存在,但是值没填。非法值是应该认为错误的。但是空值个人认为更应该处理为一种“警告”,是应该有 fallback的策略的,而非不可饶恕的错误。为了返回默认值,咱们可以多加一个委托。 public T GetConfiguration<T>(Func<string, T> parseFunc, Func<T> defaultTValueFunc, string key) { try { string rawConfigValue = ConfigurationManager.AppSettings[key]; return !string.IsNullOrEmpty(rawConfigValue) ? parseFunc(rawConfigValue) : defaultTValueFunc(); } catch (ConfigurationException ce) { // error handling logic return default(T); } } 现在,调用者就能灵活处理遇到config为空时候的默认值了: GetConfiguration<bool>(bool.Parse, () => false, "EnableAzureWebTrace"); 但是如果每次都在条件判断里写上面那样的语句是挺麻烦的,在一般的系统开发中,常常会用一个管理配置的Settings类来对应 Web.config里的设置表,维护这个关系。为了使用方便,咱们会把每个Settings的名字,也就是key,作为属性去暴露给调用者,于是就能 这样写: public bool EnableAzureWebTrace { get { return GetConfiguration<bool>(bool.Parse, () => false, "EnableAzureWebTrace"); } } 以为装逼结束了吗?当然不行!没发现,属性名称和传进去的string类型的key名称是重复的吗?这样写代码是不是有点蛋疼?而且最惨的是, 在VS2015,C#6.0之前(也就是下版本的C#),string这种东西,要是写错了是编译不出来的,所以应该尽量避免用string传 key。经常会发生改了属性名,没有一起改string值的悲剧。比如MVVM框架的RaisePropertyChanged(string)就经常坑 爹(题外话)。。。 好在,.NET4.5有个CallerMemberName特性,意思是”调用咱的方法叫什么名字”,就能帮咱们把这个string参数撸掉。 所以,只需要把方法签名里的string key改成: public T GetConfiguration<T>(Func<string, T> parseFunc, Func<T> defaultTValueFunc, [CallerMemberName]string key = "") 这样这个方法被调用的时候,key就会自动赋值为调用它的方法或属性名。然后,刚才的那个属性就能够这样去写: public bool EnableAzureWebTrace { get { return GetConfiguration<bool>(bool.Parse, () => false); } } 以为装逼真的结束了吗?还有最后一步。万一要是碰到有些情况,属性名真的和appSettings里的key名字不一样怎么办?为了灵活处理这种 边缘情况,还可以加个参数,强撸这种名称不一样的情况,如果这个参数被赋值了(下面的supressKey),就用它去读config而不用传入 的key。 下面给出咱博客里读AppSettings的通用代码: private T TryGetValueFromConfig<T>(Func<string, T> parseFunc, Func<T> defaultTValueFunc, [CallerMemberName]string key = "", string supressKey = "") { try { if (!supressKey.IsNullOrEmptyOrWhiteSpace()) { key = supressKey; } var node = ConfigurationManager.AppSettings[key]; return !string.IsNullOrEmpty(node) ? parseFunc(node) : defaultTValueFunc(); } catch (Exception ex) { Logger.Error(string.Format("Error Reading web.config on AppSettings node: {0}", key), ex); return default(T); } } 现在,就能灵活装逼了,给几个例子: string类型,属性名和key不一样,默认值“FileSystemImageProvider”: public string PostImageProvider { get { return TryGetValueFromConfig(_ => _, () => "FileSystemImageProvider", supressKey: "ImageProvider"); } } bool类型,默认值想要true public bool { get { return TryGetValueFromConfig(bool.Parse, () => true); } } int类型,默认值为20 public int { get { return TryGetValueFromConfig(int.Parse, () => 20); } }

③ 求“把实物抽象化”之类的创新思维方法,越多越好,能给地址最好。

你把实物的照片形象图形化,把其中的元素打散,再重新组合。

④ 我们的专家都喜欢将简单的事情复杂化,将具体的东西抽象化,搞得好像他们知识渊博似的……

那么多进步的东西,好像只要这样做就能够进步似的...其实事情并不像想象得那么简单。你进步别人也进步,...从具体到抽象,从特殊到一般,在知识的广度和深度上也属一种超越。

⑤ 抽象文化该何去何从

抽象文化不会衰落,但可能只会零零碎碎地出现在某些地方了。

⑥ 举例如何使抽象理念或情绪视觉化

最终解说词还需根据画面实际进行修改,而且画面编辑的一个重要方面是必须考虑如何使抽象理念或情绪视觉化,也就是说如何以最吻合的画面形象形象组合完成意义情绪的表达

⑦ 把具体的东西抽象化表现有几种形式

具体的东西用文字抽象化表达的方式:
1.
谐音引申。把具体的东西,在名称谐音的其它领域,找到与此物品某特征相关或诙谐或憎恶或其它能宣泄情感的其它名称。比如:iphone,戏称为“爱疯”。
2.
主要特征着重表达。把具体的东西外表或内在的主要易识别特征抽离出来作为代名词来表述。比如,iphone5金色外壳款,土豪金。
3.
主要功能用途表述。把物品的主要功能或易识别用途剥离出来冠以特定称谓。比如,某些没什么价值...

⑧ 钱柜市场营销案例分析

钱柜KTV经营中有形化服务营销策略的实施
在我国,KTV发展迅速,现在较为常见的大型KTV像钱柜、好乐迪这类量贩式KTV,音响设备好,酒吧,迪厅,保健,洗浴等一条龙。量贩式KTV由于更加符合商务与娱乐消费的习惯,逐渐成为KTV行业的主流。其实KTV经营中服务本质上则是无形的、抽象的、这样对KTV营销不力,那么在KTV营销过程中如何实施有形化服务营销策略呢?本文将运用服务营销的相关理论就以上问题讨论相应的营销方式。
关键字:KTV经营 服务营销 策略实施
一、使KTV营销环境有形化 KTV营销环境包括KTV的外部环境如:周围环境、建筑外观、建筑外观,KTV的内部设施如:内部装潢、卫生状况、 包间布局、 安全设施、 隔音效果等。比方说KTV位置的选择以及门面和停车场等周围环境尽可能的去给客人提供一些有形提示帮助客人了解我们KTV并且由此促进KTV营销。
二、努力营造KTV营销知名品牌 其实知名品牌也是一种有形线索,这些能够反映KTV的服务质量和水准,这样会在客人心目中树立起一个有力清晰而且准确的KTV服务形象。对于企业的可持续性发展而言,树立品牌至关重要。尤其是对于KTV行业,硬件设施已经不相上下,品牌效应在人们选择KTV的时候特别关键。
树立品牌可以从如下几个方面着手:
1、KTV的VI系统。国内的KTV林林总总,要想在众多竞争者中脱颖而出,必须要首先有一套自己的VI系统。视觉识别(VI)是以企业标志、标准字体、标准色彩为核心展开的完整、体系的视觉传达体系,是将企业理念、文化特质、服务内容、企业规范等抽象语意转换为具体符号的概念,塑造出独特的企业形象。大到店面装修,小到服务员的胸牌、话筒,都应该遵循VI的设计,统一又表现出KTV独特的个性。
2、KTV的企业文化。这种企业文化不仅仅用于员工的管理,也可以感染消费者。KTV的品牌故事、经营理念等如果设计得当、宣传到位,将会给人们从心理上对KTV产生美好的联想与积极的感受。
3、KTV的服务与口碑。KTV作为服务行业,服务非常重要。不仅仅要从服务种类上着手,还需要在服务人员素质培养上下功夫。这里的素质培养不但要包括待人接物、处理问题的能力培养,而且还应该包括流行时尚、歌唱技巧、客户心理等专业技能的培养。良好的服务水平配合KTV的硬件设施才能够给KTV带来优良的口碑,从而吸引更多的客户。
提升KTV知名度可以采用的方法有:
1. 优惠促销。根据市场价格,在价格方面给予一定程度的优惠,同时派人在人流
比较大的地区派发传单,宣传优惠项目。
2. 活动宣传。根据KTV资金实力,可以考虑选择不同的活动宣传方案:A.选择
当地热门节目赞助。B.与新闻媒体联合,炒作KTV新闻,比如KTV开出天价招高素质服务员等。C.举办娱乐活动,比如歌王争霸等。D.与其他企业联合,推出合作卡。比如与餐饮联合,推出联名消费卡。
三、开展KTV服务承诺活动
KTV服务承诺是指KTV场所通过海报以及宣传单等等沟通方式向客人预示KTV场所的服务质量以及效果,并且对这些予以一定的保证,听得到的因此也是一种有形化营销手段。

⑨ 如何把问题抽象化

当我们碰到无法避免的讨厌问题时,常会感到闷闷不乐,或惶恐不安。

这时候,有位名叫哈牙卡的“意义论”的学者指示我们一种绝妙的方法,那就是运用“抽象阶梯”,或“袖手旁观”的方式来排除苦闷。

换句话说,任何具体的个别东西,一定具有更高的抽象化概念。例如家里的花猫是雌猫,进一步是猫,再一步则属于猫类,哺乳类,脊椎动物,这样不断往上爬升,原来的事物看起来就会变得很抽象了。

例如你有一位令人讨厌的主管A,那你也可用花猫的方式,将他加以抽象化,即用A——压迫者——哺乳类——脊椎动物——动物——生物等抽象梯次,逐渐将他那种讨厌的气息驱除殆尽,造成“袖手旁观”的习惯,这时候,把A主管看成脊椎动物,或生物,总比把A看成A的情况更使人心平气和。如果碰到讨厌的工作,你也可以马上想到劳动是为了什么——获取吃饭资本——为了生活,懂得这样联想,也能使你心平气和地做事去。不善言辞的人,在苦恼的时候也可这样联想:情报——传递——内容,如懂得利用抽象的阶梯,就能消除不安的具体性。

阅读全文

与去抽象化营销案例相关的资料

热点内容
2018后勤培训方案 浏览:150
写字楼元宵节活动策划方案 浏览:836
为医院设计一套营销战略和管理方案 浏览:410
12月促销活动方案 浏览:131
中心学校培训方案设计 浏览:485
妙卡斯电子商务 浏览:360
医院员工培训方案doc 浏览:505
实体店销售营销方案 浏览:637
初中教师自主培训方案 浏览:574
外卖网络营销策划书目录 浏览:955
食品经营方案策划方案 浏览:917
贵州电子商务的发展路径是与阿里 浏览:994
医院市场营销工作总结 浏览:445
餐饮加盟行业营销方案 浏览:275
服装品牌的陈列策划方案 浏览:582
本科市场营销专业毕业证 浏览:261
市场营销系的学生需要考研吗 浏览:649
联想集团网络营销研究 浏览:593
白酒营销策划方案摘要 浏览:75
天猫双十一女装活动策划方案 浏览:429