架构论文范文
总经理
副总经理
财务部
1、财务经理
2、费用会计核算会计出纳
行政部
1、行政经理
2、保安主管保安组长保 安 员
3、维修主管维修组长维修电工
4、车 队 长司机(分免费购物大巴、售后配送部)
5、人事主管人事文员(分薪资福利行政、培训)
6、客服主管客服员(分服务总台、家电部)
7、电脑主管电脑维护员录单文员(收货部)
采购部
1、采购经理采购主管(生鲜、食品、非食、家电)
2、策划主管策划美工
3、商品行政组长商品行政文员
超市部
1、超市经理营运主管(生鲜、食品、非食品)
营运组长(生鲜、食品、非食品)
理货员(生鲜、食品、非食品)
促销员(生鲜、食品、非食品)
2、生鲜技师(熟食厨师、面点师、水产技师、面包师、蛋糕师、肉类分割师)
3、收货主管收货组长收货员
4、收银主管收银组长收银员
家电部
1、家电经理营运主管(小家电、冰洗、彩电、音响、厨卫空调)
营运组长(小家电、冰洗、彩电、音响、厨卫空调)
理 货 员(小家电、冰洗、彩电、音响、厨卫空调)
促 销 员(小家电、冰洗、彩电、音响、厨卫空调)
2、售后主管售后组长维修师傅仓管员售后文员
建材部
1、建材经理营运主管
营运组长
理 货 员
架构设计是需求分析到软件实现的桥梁,也是决定软件质量的关键。编制架构设计说明书是开发人员向架构师转变必定会经历的过程。在架构师整个的成长过程中,必定会经历编制架构设计说明书、评审架构设计说明书以及根据业务需求分析设计系统架构的三个过程。作为一个架构师,我想尝试一下根据这三个过程对不同能力需要,写一次系列文章,包括《架构设计三部曲之如何写架构设计说明书》、《架构设计三部曲之如何评审架构设计说明书》以及《架构设计三部曲之如何做架构设计》,一来可以帮助自己整理思路,重新审视架构设计,二来也可以与大家分享心得,听取大家的意见,共同进步。本篇属于系列中的第一篇。
那么到底如何编写架构设计说明书?该说明书应该包括哪些方面的内容呢?我们知道,架构设计说明书是阐述系统架构具体内容的,根据我之前的文章《我的架构观-架构未来的发展》我们明白架构的本质是呈现三大能力:即系统如何面向最终用户提供支撑能力、如何面向外部系统提供交互能力、如何面向企业数据提供处理能力。因此从这个角度看,对架构设计说明书的章节的设置及章节内容安排应该要能说明清楚系统架构到底是如何呈现这三种能力的,让我们逐个分析:
系统如何面向最终用户提供支撑能力:这一点是要从系统自身的能力来看,即本系统到底应该具备哪些功能,各功能间如何协作以满足支撑最终用户的使用,其实就是要讲系统的功能架构或逻辑架构,回答系统从功能粒度上划分了几个功能模块或子系统,各模块或子系统之间的内部接口关系如何等问题。当然还有一个需要考虑的问题,在纵向维度上,随着架构设计理念的不断发展,逻辑架构模型从最初的展示-数据两层模型,到展示-逻辑-数据(所谓的MVC)三层模型,甚至到展示-调用接口-逻辑-数据接口-数据五层模型,不同层次表明系统内部设计的精细程度,因此在逻辑架构设计中也需要针对实际情况加上这种分层设计的内容。尤其是对于powser/Server架构模式的MIS类系统,这种层次更为常见。另外,用户相对于机器来说对系统提供的能力是有个人喜好要求的,不仅要求系统能提供支撑,而且还要更加稳定的、更方便的、灵活的、快速的等提供,这就需要在架构设计说明书中增加所谓非功能性的设计,即需要描述系统的性能、高可用、可扩展性、可维护、安全性、可移植性等。系统如何面向外部系统提供交互能力:这一点是要把系统当成一个完整的整体,阐述它如何与外部的系统发生调用关系,外部系统为它提供了哪些开放接口,它又为外部系统提供了哪些外部接口和能力,同时,在这种相互的调用关系中它处于整个IT架构的何种位置,这其实就是在说系统的整体架构。另外,如果我们把操作系统和硬件服务器也当成一类特殊的外部系统的话,就需要说明系统如何基于操作系统利用硬件服务器来提供计算、存储、网络等能力,系统如何把自己拆分成不同的部分以便部署在服务器上,这其实说的是部署架构。如何面向企业数据提供处理能力:信息系统的原始驱动力就是人们需要借助计算机的强大计算能力来辅助处理大量数据,从而形成可理解的信息,并最终形成可掌握的知识。因此数据处理是系统的根本目的,至关重要,在架构设计说明书中需要单独描述系统对数据的处理能力,即我们所谓的系统数据架构。这还是可以从对外和对内两个角度来看,对外即需要说明本系统处理的数据在整个企业数据流中所处的位置,与相关的上下游数据之间的关系,本系统需要从数据上游的外部系统获取哪些数据?又需要为数据下游的系统提供哪些数据;对内需要说明本系统根据业务需求设计了哪些关键数据表,它们之间是何种主外键关系,是否需要从外部导入数据为系统做数据初始化等。当然还有对数据管理的描述,包括如何做数据冗余设计,备份机制,数据安全管理机制等。
好,分析完这三种能力,我们几乎就找出了架构设计说明书中应该包括的内容,包括整体架构、逻辑架构、数据架构、部署架构、内外部接口、非功能性设计等,如果纯把架构设计作为理论研究,有这些也就够了。但是现实中我们编制架构设计说明书毕竟是用来指导我们后续系统开发的,是需要真正落地实施的,因此就会涉及使用何种技术实现?有哪些关键技术?用到了何种成熟或开源技术组件?复用了哪些之前的技术成果?等等,同时也包括对技术风险的考虑与预防措施。所有这些就是技术架构的内容。综上,我们就可以得到一份完整的架构设计说明书的结构及应该包含的内容,其大致章节应该是这样的:
文档概述:包含项目背景、项目目标、文档版本信息、目标读者、参考文档、名词解释之类的一般文档都会有的章节;
整体架构:主要从整个IT层描述系统所处的位置,与周边关联系统之间的调用关系; 逻辑架构:系统内部功能模块的划分以及各模块功能介绍、相互之间的关系表述; 接口设计:包括系统间的接口设计以及内部功能模块之间的接口设计;
数据架构:本系统与上下游系统间的数据流关系,以及本系统关键数据表设计、数据管理策略等;
技术架构:实施此架构需要用到哪些技术能力,有哪些复用能力及风险;
部署架构:系统如何部署,网络拓扑上有何要求,对硬件服务器有何要求,需要几台,是否需要优化服务器参数;
一、理念层
1、企业目标与愿景设计
企业的最高目标是:
企业愿景是:
企业使命:
多目标体系:
a.市场;b.技术进步与发展;c.提高生产力;d.物质和金融资源; e.利润;f.人力资源h.员工积极性;i.社会责任
2、企业价值观设计
企业价值观(与企业最高目标相协调; 与社会主导价值观(爱国主义、集体主义、社会主义)相适应;充分反映企业家价值观;与员工价值观相结合)
3、企业哲学(企业观)设计
企业哲学是一种存在,企业文化是一种现象。企业哲学是企业与社会的关系,企业与人(员工、顾客)的关系,是关于企业的总的根本看法。
4、企业经营理念设计
5、企业管理模式设计
系统化管理模式:企业的系统化标准化统筹化管理是通过完成企业组织机构战略愿景管理、工作责任分工、薪酬设计、绩效管理、招聘、全员培训、员工生涯规划等七大系统的建立来完成的。
战略管理:综合考虑供应、生产、技术、销售、服务、财务、人事
企业的战略规划,要怎样一步步实施
6、企业精神设计
企业精神是对企业现有观念意识、传统习惯、行为方式中积极因素的总结、提炼和倡导。
7、企业道德设计
企业道德的设计要符合中华民族的优秀传统道德,符合社会公德及家庭美德,突出行业的职业道德特点。(忠诚、无私、勤劳、节俭、团结、廉洁、自强、礼貌、遵纪、守信)(态度、责任)
8、企业作风设计
9、企业核心竞争力:专业,标准(怎样做)
二、制度行为层
企业制度设计:
1、工作制度设计
法人治理制度、计划制度、劳资人事制度、员工培训制度、生产管理制度、服务管理制度、技术工作及技术管理制度、设备管理制度、劳动管理制度、物资供应管理制度、产品销售管理制度、财务管理制度、生活福利工作管理制度、奖励惩罚制度等。
2、责任制度设计
“包——保——核”体系
a.“包”就是采用纵向层层包的办法,把各项经济指标和工作要求,一次落实到每个单位、每个部门、每个岗位、每名员工身上。化整为零,企石镇是把企业大目标分解为看得见、做得到的每名员工个人的责任指标。(细分到每个车间每个人)
b.“保”就是纵向和横向实行互相保证,纵向目标分解后从下到上层层保证,横向把内部单位之间、岗位之间的具体协作要求,一件件落实到人。(工作单位之间、人与人之间建立良好的沟通)
c.“核”就是对企业内部每个单位,每个岗位的每项“包”“保”责任都进行严格的考核,并与其经济利益和奖惩挂钩。
3、特殊制度设计
a.员工民主评议干部制度,民主评议的主要内容包括:工作态度、工作能力、工作作风、工作成效等。采用访谈、座谈、问卷调查等形式。
b.干部“X必访”制度,指企业领导和各级管理人员在节假日和员工生日、结婚、生子、生病、退休、过世时要访问员工家庭。
c.员工与干部对话制度
a.企业领导干部定期与员工举行座谈会的制度
b.厂长(经理)接待日活动
C.热线电话制度
企业礼仪和仪式设计
典礼、仪式、习惯行为、节日、活动等的设计(早会、月会、年会、定期学习培训、员工活
动(体育活动、娱乐等)、不定期的战略研讨会等)
员工行为规范设计
仪表仪容、岗位纪律、工作程序、待人接物、素质与修养、环卫与安全等对员工提出要求。
三、符号层
1、企业标识设计
企业名称:
企业标志:
标准字:
标准色:蓝色(蓝色代表大海,大海在冰心的现代诗里面象征母亲,代表宽容,代表爱;大海有广阔的胸怀,惊人的威力,壮丽的景色,更重要的是大海是自由精神的象征。蓝色是永恒的象征,在最冷的色彩。蓝色代表:希望、高远、温馨、和谐、安详、寂静、清高、深邃、孤独、神秘。)
2、企业环境设计
企业自然环境与建筑布局设计(目标:安全、经济、美化、生态、文化。原则:功能区分、经济高效、整体协调、风格传播(反映独特的企业文化))
厂房环境设计:厂房布局(符合技术和工艺特点、符合员工生理要求、符合员工生理特征,有利于提高生产效率)、色彩、声学(噪音控制)、空气
办公室环境设计:经济实用、美观大方、独具品味。(领导办公室设计:相对封闭、相对宽敞、方便工作、特色鲜明)
3、企业旗帜、服装、歌曲、吉祥物设计
4、企业业余文化设计
5、企业文化用品设计(企业名片、企业画册、企业纪念品、企业包装盒(袋)、手提袋、工作证、请柬贺卡等)
表层规律
一、演讲语言
(一)演讲语言的定义
演讲语言是演讲者交流思想、表达情感、传递信息的工具。
演讲语言有广义和狭义两种。广义的演讲语言,泛指演讲前记录演讲信息的语言和演讲中传递演讲信息的有声语言和态势语言;狭义的演讲语言,专指演讲前记录演讲信息的语言。
这里所说的“演讲语言”,指的是狭义的演讲语言。
(二)对演讲语言的要求
演讲语言运用得好坏,直接关系着演讲的成败。要想做精彩的成功的演讲,必须 要在演讲语言上下功夫。
对演讲语言的基本要求是:
1.要简练
简练,就是用最少的语言去表达最丰富的内容。简练,是演讲者语言成熟的重要标志。要做 到简练,必须从以下几个方面去努力:
(1)锤炼思想。思想简练,语言才可能简练。
(2)锤炼主题。删掉那些不必要的“小主题”,就会省却许多材料和语言。
(3)锤炼材料。删掉那些众多的非典型材料,用几个富于表现力的典型材料取而代之,就会节约许多笔墨。
(4)锤炼字句。要毫不留情地删掉那些可有可无的字、句、段,直至“句中无余字,篇外无 长语”;尤其是要毫不留情地删掉那些令人生厌的空话、套话,车轱辘话、口头禅等。
2.要通俗
通俗,就是运用大众化的语言深入浅出地去表达某一内容。演讲语言通俗,演讲内容才容易被听众理解和接受。要做到通俗,必须从以下几个方面去努力:
(1)多用口语而少用书面语言。
(2)不要滥用方言、土语。
3.要准确
只有准确的语言,才能恰如其分地表达思想情感。要做到准确,必须从以下几个方面去努力 :
(1)要积累丰富的词汇。词汇丰富,选择余地才大,才可能使语言准确。
(2)要注意词语的感情色彩。以“死”为例,褒义词有“牺牲”、“逝世”、“英勇就义”、“以身殉职”、“为国捐躯”等,贬义词有“死了”、“完蛋了”、“蹬腿了”、“上西天了”、“下地狱了”、“见阎王去了”、“见上帝去了”等,要注意区别使用。
(3)要注意语法和逻辑。说一个人枪法好,用“弹无虚发”、“百发百中”、“百步穿扬” 或“神枪手”就够了,而用“超准确射手”就不合逻辑了。
(4)不理解的词语不要用。据说,山东军阀韩复榘曾在某大学做过这样的演讲:“今天到会的人很茂盛,敝人实在很感冒。你们都是大学生,懂得七八国英文,我不懂这些,今天真是鹤立鸡群了。”这显然是不理解词语的含义而造成的。
4.要生动
只有生动的语言,才能感染听众打动听众。要做到生动,必须从以下几个方面去努力:
(1)使用“形象化”的语言。尽量不要使用那些抽象的枯燥的概念、判断、推理,要寓形象于议论之中。例如:
我梦想着,有那么一天,甚至现在仍为不平等的灼热和压迫的高温所炙烤着的密西西比,也能变为自由与平等的绿洲。
我梦想着,有那么一天,我的四个孩子,能够生活在一个不是以他们的肤色,而是以他们的品性来判断他们的价值的国度里。
我梦想着,有那么一天,就在邪恶的种族主义者仍然对黑人活动横加干涉的阿拉巴马州,就在其统治者拒不取消种族歧视政策的阿拉巴马州,黑人儿童将能够与白人儿童如兄弟姊妹一般携起手来。
我梦想着,有那么一天,沟壑填满,山岭削平,崎岖地带铲为平川,坎坷地段夷为平地,上帝的灵光大放光彩,芸芸众生共睹光华!
这就是我们的希望!这是我返回南方时所怀的信念!怀着这个信念,我们就能从绝望的群山中辟出颗希望的宝石。怀着这个信念,我们就能变我们祖国的吵杂喧嚣为一曲优美和谐的兄弟交响乐。怀着这个信念,我们就能共同工作、共同祈祷、共同斗争,甚至哪怕共同入狱。既然知道有朝一日我们终将获得自由,我们就能为争取自由共同坚持下去!......(〔美〕马丁·路德·金《在林肯纪念堂前的演说》)
这种“形象化”的议论,不但不枯燥,反而极具感染力。
(2)使用幽默的语言。幽默,可以使语言生动,可以吸引听众。因此,演讲者往往在演讲开头、在听众疲倦或喧哗的时候等等,都不失时机地运用幽默。
(3)使用修辞手法。比喻、比拟、借代、夸张、排比、感叹、反语、反问、设问、引用等修辞手法,可以使语言生动。
(4)使用多变句式。长句与短句、整句与散句等交叉使用,可以使语言生动。
二、演讲结构
演讲结构是为表现演讲主题,把散乱的演讲材料,按照一定的规律,巧妙地组织 安排起来的框架。
与一般的文章结构相比,演讲结构具有如下特点:
第一,更清晰更明了。因演讲“一次过”,故不宜太复杂,跳跃性不宜太大。
第二,有的演讲,开头之前还有一个“开关”,结尾之后还有一个“结尾”。因演讲是演讲 者与听众面对面进行信息交流的说话形式,故有时需这样处理。
第三,时间(停顿)、空间(展示实物)是演讲结构的重要组成部分。这对文章结构来说是不可思议的。
第四,是动态的。在演讲前、中、后,均可对演讲内容、形式等进行调整和变换。
演讲结构的项目,包括:演讲题目、演讲称呼、演讲开头、演讲主体、演讲结尾等。
(一)演讲题目
1.演讲题目的作用
(1)概括性:概括演讲内容。
(2)指向性:让听众知道要讲哪方面内容,从而决定听还是不听。
2.拟题的方法
(1)揭示主题。如《心底无私天地宽》、《我的未来不是梦》、《愿君敢为天下先》、《莫让年华付水流》等。
(2)提出问题。如《人生的价值在哪里》、《失败,意味着什么》、《当你被误解的时候》、《面对诱惑》等。
(3)划定范围。如《大学生的任务》、《青年的选择与祖国的未来》、《制造国旗的人们》、《妈妈的眼睛》等。
(4)《在......上的演讲(演说、讲话)》。
(5)正副题目。正题目,揭示主题、提出问题或划定范围;副题目为“在......的演讲(演说、讲话)”。
3.拟题的要求
(1)要积极。听了演讲题目,要令人以鼓舞、令人振奋。
(2)要新颖。新颖,才能吸引听众。
(3)要适合。一是要适合听众的实际。对于小学生来说,《论〈红楼梦〉的思想价值和艺术 价值》这样的演讲题目,就不适合;而对于汉语言文学专业的大学生来说,《〈红楼梦〉是一部什么样的书》这样的演讲题目,也不适合。将演讲题目调换一下,可能就适合了。二是要适合自己的实际。对于大学生来说,《论国有大中型企业改革》这样的演讲题目,就不适合;而对于企业家来说,《做新世纪合格的大学生》这样的演讲题目,也不适合。将演讲题目调换一下,可能就适合了。三是要适合演讲的实际。限定10分钟,《论中国历史》这样的演讲题目,就不适合;限定2小时,《大学生要积极参加文体活动》这样的演讲题目,也不适合。
4.拟题常见的毛病
(1)太冗长。如《祖国的儿女在为中华腾飞而拼搏》等。
(2)太深奥。如《我对文明之管窥》、《葡萄与大学生》、《理想、命运与路的思考》等。
(3)太宽泛。如《我自信》、《信念》、《责任》等。
(二)演讲称呼
1.演讲称呼的作用
演讲称呼是演讲者上场后说的第一句话。这句话说得好,赢得了听众的好感,就 可以为演讲成功奠定第一块良好的基石;这句话说得不好,引起了听众的反感,就可能为演讲埋下失败的祸根。
2.演讲称呼的要求
(1)要符合听众的身份。尽量不要用“同志们”、“同学们”这些放之四海而皆准 的称呼;最好是根据不同的听众使用不同的称呼。
(2)要亲切。演讲称呼亲切,可以缩短演讲者与听众的感情距离,赢得听众的好感。演讲称呼符合听众的身份,往往就会让听众感到亲切;另外,使用“尊敬的”、“敬爱的”、“亲爱的”等字眼,也会让听众感到亲切。
(三)演讲开头
“万事开头难”。演讲也不例外。如何给演讲设计一个好的开头,是摆在每一位 演讲者面前的艰巨的任务。
1.演讲开头的作用
好的演讲开头,是演讲成功的第二块基石。好的演讲开头,具有如下作用:
(1)赢得好感。仅仅靠演讲称呼去赢得好感,是远远不够的;演讲开头也要担负起赢得好感的重任。俗话说:“一句良言三冬暖,一句恶语六月寒。”聪明的演讲者总是搜肠刮肚运用“良言”,千方百计缩短与听众的感情距离,从而赢得听众的好感,为演讲铺平道路。
(2)打开场面。演讲开头这一番话怎么说,才能使演讲顺利地自然地进入下文(演讲主体),并尽可能地为演讲定下基调,这就是打开场面的问题。
(3)引人入胜。演讲开头不仅要赢得好感,打开场面,它还要像磁石一样把听众紧紧地吸引住,使之惊叹、折服、沉醉,并饶有兴趣地去听下面的内容。这并不是一件非常容易做到的事;为此,必须使出浑身的解数。
2.演讲开头的方法
演讲开头的方法,很多很多。常见的有:
(1)总论式:也叫概述式。包括两种:
A.直入式:单刀直入,开门见山地阐明演讲主题。
B.迂回式(婉转式):迂回前进,委婉曲折地阐明演讲主题。
(2)引题式:亮出题目或引出问题。这里的“题”是题目的“题”或问题的“题 ”,而不是主题的“题”。
A.亮出题目。
B.引出问题(提问式)。
(3)介绍式:介绍与演讲有关的问题。
A.介绍演讲题目。
B.介绍演讲缘由。
C.介绍当前形势。
D.介绍眼前情形。
E.介绍当地情况。
F.介绍观众情况。
G.介绍自身情况。
H介绍宣传对象。
(4)故事式。
A.从现实事件讲起。
B.从历史事件讲起。
C.从故事、传说、趣闻、轶事、典故讲起。
D.从寓言、童话、神话、笑话讲起。
(5)寒暄式:表示欢迎、祝贺、感谢或慰问。
(6)引用式。
A.引用名言、警句、俗语。
B.引用诗词。
C.引用歌词。
D.引用数据。
E.引用实物。
(7)综合式:上述几种演讲开头方法的综合运用。
3.演讲开头常见的毛病
(1)公式化:高明的演讲者从不重复同一个演讲开头。不同题目的演讲自不必说;即使是同一题目的演讲,也往往要根据演讲场所和听众的变化,重新设计演讲开头。如果不论什么演讲都使用同一种方法开头,那就犯了“公式化”的毛病。例如:不能因提问式演讲开头方法可以引人入胜而逢演讲便“我想向大家提一个问题”或“我想请大家和我共同思考这样一个问题 ”等。
(2)过谦式(诉苦式):过分谦虚,假装诉苦,给人以虚伪之感。例如:
我没有什么准备,实在说不出什么。既然让我讲,只好随便讲点。如果哪个地方讲错了,请大家批评指正。(选自邵守义《演讲学》,略有改动)。
我这几天实在太忙,始终抽不出时间,加之身体欠安,恐怕讲不好。请大家原谅。(同上)
(3)炫耀式(吹嘘式):自我炫耀,自我吹嘘,生怕别人不了解自己。例如:
我今天能给大家演讲,感到很荣幸。我对×××问题,不敢说有什么建树,但总还是研究了几年的。(选自邵守义《演讲学》)
(4)卖关式(玄虚式):故意卖关子,故弄玄虚,故作惊人之语,给人以哗众取宠之感。例如 :
我有一件事要向各位报告,几个小时后,将有一个重大事件发生。那就是:我要做爸爸了!(选自邵守义《演讲学》)
我一上台就想起了一件惊人的事。你们知道我想起了什么事情吗?(同上)
(5)兜圈式(跑题式):东拉西扯,离题万里;废话连篇,空洞无物。例如:
我说我就不说了,但王秘书长硬要我说几句,只好说几句,不对的地方请批评。......我觉得这个会开得很好,各位的观点我都赞成,你们都是专家,我是来向你们学习的。......本来我最近很忙,但再忙也要来学习。我今天赶来时就差点忙中出错,一出门发现司机还没来,想来想去是昨天忙得太晚,又忘了要司机早上来接,司机肯定还在睡觉,这可怎么好。好在我给他打拷机,他一听到就赶来了,连早餐都来不及吃。要是今天不能来,那我就要遗憾万分。......像这样的会,我看应该多开,下次开我还要来,再忙也要来,没有车打的也要来。......谢谢大家!
(四)演讲主体
1.演讲主体的作用
演讲主体是演讲的核心部分。这部分处理得好坏,直接关系到演讲的成败。
2.演讲主体的布局方法
(1)时序式:按照时间的顺序进行布局。适用于介绍个人成长过程和他人先进事迹的演讲。
(2)平行式(并列式):阐释若干个问题,这几个问题之间的关系是平行的、并列的,甚至是 相对独立的。这几个问题,往往是一个大问题的几个侧面。
(3)递进式(深入式):阐释若干个问题,这几个问题之间的关系是递进的、步步深入的,甚至是一环套一环的(由一个结论推出下一个结论)。
(4)因果式:先阐明原因再揭示结果,或先揭示结果再阐明原因。因果式可看成是递进式中的一种。
(5)对比式:正与反比,好与坏比,新与旧比,古与今比等。
(6)总分式(分总式):先总说后又分说,或先分说后总说,或先总说再分说后总说。
(7)综合式:上述几种布局方法的综合运用。
(五)演讲结尾
“编筐窝篓,全在收口。”如何给演讲设计一个好的结尾,是对演讲者的严峻考验。不要以为,演讲结尾,完事大吉。到了演讲结尾,不能掉以轻心,不能有“松口气”的感觉;一定要再加把劲儿,谨慎从事,善始善终,给演讲画上一个圆满的句号。
1.演讲结尾的作用
好的演讲结尾,可以使演讲锦上添花。好的演讲结尾,具有如下作用:
(1)收拢全篇。演讲经过开头进入主体之后,各方面内容得到了充分展开;在演讲快要结束的时候,演讲者应该对演讲内容进行归结,使整个演讲有头有尾,成为一个完美的整体。
(2)加深认识。可能是继开头之后再一次点击题目,也可能是继开头之后再一次阐明主题,可能是引发思考给人启迪,也可能是运用技巧令人惊奇,总之就是要抓住这“最后的机会”努力达到这样的目的:让这次演讲给听众留下深刻的印象,让这次演讲的主题在听众的脑海中打上深刻的烙印。
(3)鼓励人心。演讲经过开头和主体之后,“使人知”和“使人信”的目的已经达到;接下来就是要在演讲结尾的时候“使人激”,以便演讲结束后“使人动”。演讲的“鼓动性”特点集中体现在此。
2.演讲结尾的方法
演讲结尾的方法,很多很多。常见的有:
(1)总结式:阐明演讲主题,或继演讲开头之后换一个说法再一次阐明演讲主题。
(2)点题式:点击演讲题目,或继演讲开头之后再一次点击演讲题目以便首尾呼应。
(3)鼓舞式。
A.号召式。常见句式:“让......吧”。
B.希望式(要求式、呼吁式)。常见句式:“希望......”、“要......”、“应......”、“请......”、“我要大声呼吁......”等。
C.祝愿式。常用句式:“祝愿......”、“祝......”、“愿......”。
D.展望式。常用句式:“将......”。
E.信心式。常用句式:“我相信......”、“我坚信......”、“我深信......”。
F.誓言式(决心式)。常用的句式:“我决心......”、“我们一定要......”、“我 们决不......”、“我们永远也不......”等。
G.口号式。用口号或类似于口号的语句做结尾。
(4)启发式:引发思考,给人启迪。
(5)引用式。
A.引用名言、警名、俗语。
B.引用诗词。
C.引用歌词。
(6)综合式:上述几种方法综合运用。
3.演讲结尾常见的毛病
(1)有头无尾。也许是因为演讲结束时间已到,也许是因为忘却,也许是因为讲稿或腹稿准备不足,致使演讲没有进行到底,给人以残缺不全或意犹未尽之感。
(2)虎头蛇尾。有结尾,但不理想,草率收兵,未达到应有的效果。
(3)平淡无味。有结尾,也下了不少功夫,但还是一般化,平平常常,没有新意,甚至也没 有激情,未给听众留下什么难忘的印象。
(4)虚情假意。最典型的就是“假客套”。例如:
以上讲的都是自己的一些粗浅的看法。如有不当之处,请同志多提宝贵意见。(选自邵守义《演讲学》)
我讲完了。由于时间仓促,准备不足,难免有错误的地方。请同志们批评指正。(同上)
(5)千篇一律(公式化)。无论什么演讲,都用一种方法结尾,这是最拙劣的。
(6)罗嗦冗长。当断不断,当止不止,反反复复,没完没了,这是最令人讨厌的。
(7)偏离主题。结尾的内容与开头和主体的内容不一致,不合牙,听众听了不知所云不懂何意。
(8)节外生枝。已围绕一个话题做出了完整的演讲;但余兴未消,又提起一个话题。在正式的演讲场合,这是绝对不允许的。例如:
我的演讲到此结束了。不过,还有一个问题,我想再说几句。......(选自邵守义《 演讲学》)
同志们,请大家再忍耐一下。还有一点时间,我想再谈谈××问题。......(同上)
第二节
深层规律
一、文内功夫
(一)演讲主题
1.演讲主题的定义
演讲主题是演讲要表达的主要观点主张和思想情感。
2.演讲主题的作用
(1)演讲主题是演讲的“核心”。
(2)演讲主题是演讲的“灵魂”。它决定演讲的价值。
(3)演讲主题是演讲的“统帅”。演讲材料、演讲结构、演讲语言等,都得服从它的指挥。
3.对演讲主题的要求
(1)要正确。演讲主题正确,才能给听众以正确的引导,才能催人上进。
(2)要集中。一次演讲,往往只能有一个演讲主题。
(3)要鲜明。演讲者赞成什么、反对什么、爱什么、恨什么,必须旗帜鲜明,让听众一听即知。
(4)要新颖。演讲主题新颖,演讲才可能有吸引力。
(4)要深刻。如果演讲主题深刻,听众就能受益匪浅。演讲主题越深刻,演讲就越有价值。
(二)演讲材料
1.演讲材料的定义
演讲材料是为表现演讲主题所选取的事实及论据。
2.演讲材料的作用
(1)演讲材料是演讲主题形成的基础。演讲主题是从演讲材料中提炼出来的。没有 演讲材料,就无法演讲,当然也就谈不上什么演讲主题了。
(2)演讲材料是演讲主题赖以存在的依托。演讲主题从演讲材料中提炼出来后又靠什么去表 现呢?靠演讲材料。
3对演讲材料的要求
(1)要典型。演讲材料应该有代表性,有说服力。这样的演讲材料,可以以一当十;这样的演讲材料,运用两三个,就可以有效地把演讲主题突出出来。
(2)要真实。演讲材料应该真实准确,不能虚构编造。为了体现演讲材料的真实性,演讲者在运用演讲材料之前往往要告知“据报道”、“《××日报》×年×月×日披露”、“就在不久,我曾亲眼目睹了这样一件事”等。
(3)要新颖。只有新颖的演讲材料,才能吸引听众。演讲材料陈旧,尽人皆知,必然缺乏魅力。
(4)要适合。一是要适合听众的文化程度和兴趣爱好等。只有这样,听众才易于接受。二是要适合演讲的时间、氛围等。演讲时间长,演讲材料可多而详;反之,演讲时间短,演讲材料就应少而略。在婚礼上演讲,可使用幽默的演讲材料;反之,在葬礼上演讲,就应使用庄重的演讲材料。如此等等。
二、文外功夫
陆游《示子谲》:“汝果欲学诗,功夫在诗外。”
(一)头脑
1.存储与记忆
2.思考与思路
(二)生活
1.多看
2.多听
物业管理服务,要求有一个高效率及科学的组织架构,使人力、物力、财力得到合理的配置,以求达到降低管理成本,提供优质服务的目的。
本“物业管理中心”按“直线制”设定管理架构。中心设综合管理部、物业管理部、安全管理部、工程管理部、财务管理部五个部门。其优点是集指挥和职能于一身,命令统一,责权分明,指挥及时,既能满足本物业初期管理的要求,又能为将来业务的发展留下充足的空间。
1.综合管理部
(1)负责人力资源管理,招聘人员,开展员工培训工作,为其他部门储备人才。
(2)负责员工工作考勤。
(3)负责收集、整理和保存物业管理公司筹备、建立和发展的资料及人事档案管理。
(4)负责处理业主的咨询、投诉,并提供协助。
(5)负责对外承办、接待工作,与政府部门、各社会团体保持良好的沟通。
(6)负责物业管理公司所需物品的后勤采购工作。
(7)负责员工餐厅的监督、检查和管理工作。
(8)组织、开展企业文化活动。
2.物业管理部
(1)负责筹建管理员工餐厅工作。
(2)负责会所及会议中心的管理。
(3)书写给业户的各类通知、通告,由总经理签署发出。
(4)负责物业的日常清洁工作。
(5)负责物业公共区域及周边的绿化及环境布置。
(6)负责物业的除虫灭害工作。
(7)协助业主处理租赁工作。
(8)负责业户的搬入和迁出协调工作。
(9)建立业户档案管理工作。
(10)负责物业的一切庆典服务的布置,及为业户的庆典活动提供必要的帮助。
(11)开展业户文化交流,接待、介绍物业工作。
(12)配合综合管理部开展员工培训工作。
(13)总经理指派的其他工作。
3.安全管理部
(1)负责物业的防火、防盗、防破坏和警卫工作。
(2)与政府公安、消防、司法部门保持良好的关系。
(3)成立义务消防队,定期举行消防演习。
(4)建立、健全、制定物业的各项安全规章制度。
(5)与业主签订“消防安全责任书”。
(6)负责物业大型活动的警卫布置。
(7)负责物业的日常巡楼工作和固定岗位的安排。
(8)负责地下停车场的安全秩序管理工作。
(9)负责监控室管理工作。
(10)负责安全管理员的管理、培训、考核工作。
(11)总经理指派的其他工作。
4.工程管理部
(1)负责物业全部公共设备、设施的运行管理,保证设备正常运转。
(2)负责物业机电设备的日常维护保养工作。
(3)制定长期和日常的维修保养计划并付诸实施。
(4)负责物业土建、弱电系统、强电系统、给排水系统、消防系统、综合布线系统及其他公共系统的日常维修保养工作。
(5)负责物业高低压配电室、空调机房的值班和日常维修保养。
(6)负责物业管理部转发的业主投诉的处理,及满足业户其他有关的服务要求。
(7)协助综合管理部、财务管理部做好大厦工程管理部使用的工具、设备材料的选购、库存和保管使用工作。
(8)负责工程人员的管理、培训、考核工作。
(9)负责业主装修方案的审核、监督、管理工作。
(10)总经理指派的其他工作。
5.财务管理部
(1)协调与银行、税务以及其他主管财务政府部门的关系。
(2)建立财务管理体系,做好管理公司的经济核算工作。
(3)征收管理费、水电费、电话费、加时空调费等其他管理费用。
(4)征收和支付管理公司各类合同费用。
(5)制作财务报表、资金平衡表及固定资产损耗表及其他各种财务报表。
(6)按员工工资表发放员工工资。
(7)小量现金的支出和日常采购、入库工作。
(8)负责物业管理部转发的业主投诉的处理,及满足业主其他有关的服务要求。
(9)总经理指派的其他工作。
二、物业管理岗位编制
暂定本物业管理方针为:人性服务、培养人才、科学管理、走向市场。根据以上方针,特制定以下用人方案。
1.综合管理部
(1)由1名综合管理部经理和名员工组成。
(2)综合管理部经理名,要求具有多年丰富的社会经验和行政管理工作经验,组织协调能力强。
(3)文员兼仓库管理员名,负责本部门文字处理工作和物品入库保存、发放、领用工作。
(4)资料管理员名,负责工程资料及人员档案资料的收集、整理工作。
(5)业户接待员名,负责咨询及商务、票务的有偿服务工作及信件、报纸、杂志的接收、分发工作,要求个人素质较好,是本物业楼宇的形象服务窗口。
2.物业管理部
(1)由1名物业经理和名员工组成,负责大厦清洁、会所等项的物业管理工作。
(2)清洁班由名员工组成,分白班和夜班。白班人负责维护所辖物业内外的公共场所及男女卫生间的常规清洁,要求个人素质较好;夜班人,负责全面清洁楼宇内外的公共场所及男女卫生间,要求按清洁程序进行操作,对人员个人素质要求可适量放低些。
(3)员工餐厅服务由名厨师及名工作人员组成,上班时间为,要求员工个人素质较高。
(4)业户服务员名,开展业户文化交流,接待介绍物业工作,要求形象素质较好。
(5)会所服务人员名,负责健身、洗浴、美容等场所的接待服务工作,要求形象、素质较好。
3.安全管理部
(1)由1名安全管理经理和名安全管理员组成,24小时负责大厦的安全管理工作。
(2)安全管理经理名,要求有多年物业管理经验的转业军人担任,具有带领全体安全管理员完成所辖物业安全管理工作的能力。
(3)文员兼资料员名,负责部门文字处理和档案管理工作。
(4)主管名,分三班,全面负责所辖物业的安全防范、监督检查工作。
(5)监控值班由名员工组成,分三班,负责监控中心值班工作。
(6)大堂值班由名员工组成,分三班,负责楼宇大堂值班工作。
(7)外围值班由名员工组成,分三班,负责外围值班工作。
(8)商场值班由名员工组成,分二班,负责商场值班工作。
(9)停车场值班由名员工组成,分三班,负责地下停车场出入口的值班工作。
(10)巡逻值班由名员工组成,分三班,负责巡逻值班工作。
4.工程管理部
(1)由1名工程管理部经理和名员工组成。
(2)工程管理部经理名,要求多年物业工程管理经验的工程师担任,具有较强的管理能力。
(3)文员兼资料管理员名,负责工程管理部文字处理工作及文档资料保管工作,并同时兼任管理处仓库管理员的工作。
(4)强电值班由名强电技工组成,全天24小时值班,负责大厦强电设备的使用与维护,确保大厦用电系统正常工作。
(5)空调值班由名空调技工组成,全天24小时值班,负责空调设备的正常运作与管理、维护。
(6)消防值班由名弱电技工组成,全天24小时值班,专职负责消防设备的正常运作与管理、维护。
(7)电梯值班名,负责电梯设备的正常运作与维护。
5.财务管理部
(1)由1名财务主管和名员工组成,负责物业管理收缴各项费用。
(2)会计由主管兼任。
(3)出纳员名。
(4)停车场收费员
擅长CSS的Web开发人员不仅可以从视觉上复制实物原型,还可以用代码进行完美的呈现。无需使用表格、尽可能少的使用图片。如果你是个名副其实的 高手,你可以快速把最新和最伟大的技术应用到你的项目中,比如媒体查询、过渡、滤镜、转换等。虽然这些都是一个真正的CSS高手所具备的,但CSS很少被 人单独拿出来讨论,或者用它去评估某个人的技能。
有趣的是,我们很少这样去评价其他语言。Rails开发人员并不会因为其代码比较规范,就认为他是一名优秀的开发人员。这仅仅是个基准。当然,他的代码得必须规范。另外,还需集合其他方面考虑,比如代码是否可读?是否容易修改或扩展……
这都是些很自然的问题,CSS和它们并没有什么不同之处。今天的Web应用程序要比以往更加庞大。一个缺乏深思熟虑的CSS架构往往会削弱发展,是时候像评估其他语言那样,来评估一下CSS架构了,这些都不应该放在“事后”考虑或者单单属于设计师们的事情。
1.良好的CSS架构目标
在CSS社区,很难提出某个最佳实践已经成为大家的普遍共识。纯粹地从Hacker News的评论上判断和开发者们对CSS Lint发布后的反应来看,大多数人对基本的CSS东西是持反对意见的。所以,并不是为自己的最佳实践奠定一套基本的论据,而应该确定真正的目标。
好的CSS架构目标并不同于开发一个好的应用程序,它必须是可预测、可重用、可维护和可伸缩的。
可预测
可预测意味着可以像预期的那样规范自己的行为。当你添加或者修改某个规则时,它并不会影响到没有指定的部分。对于一个小网站来说,一些微乎其微的改变并不算什么。而对于拥有成千上万个页面的大网站来说,可预测却是必须的。
可重用
CSS规则应具备抽象和解耦性,这样你就可以在现有的基础上快速构建新的组件,无需重新修改编码模式。
可维护
当把新组件放置到网站上,并且执行添加、修改或者重新设计操作时,无需重构现有CSS,并且新添加的X并不会打破原有页面的Y组件。
可扩展
当网站发展到一定规模后,都需要进行维护和扩展。可扩展的CSS意味着网站的CSS架构可以由个人或者团队轻易地管理,无需花费太多的学习成本。
2.常见的错误实践
在实现良好的CSS架构目标之前,我们来看一些常见的错误做法,这对我们达成目标是有好处的。
下面的这些例子虽然都可以很好的执行,但却会给你带来很多烦恼,尽管我们的意图和愿望都是美好的,但是这些开发模式会让你头疼。
几乎在每个网站上,都会有一个特定的虚拟元素看起来与其他页面是完全一样的,然而只有一个页面除外。当面对这样一种情况时,几乎每个新手CSS开发 人员(甚至是经验丰富的)都会以同样的方式来修改。你应该为该页面找出些与众不同之处(或者自己创建),然后再写一个新规则去操作。
基于父组件来修改组件
.widget {
background: yellow;
border: 1px solid black;
color: black;
width: 50%;
}
#sidebar .widget {
width: 200px;
}
body.homepage .widget {
background: white;
}
初看,这绝对是段无害的代码,但让我们来看看它是否达到了我们所设置的目标。
首先,widget在examle是不可预见的。当这些小部件出现在页面两侧或者主页面时,开发人员期望它们以某种特定的方式显示出来,且又不失特色。另外,它也是不可重用或不可扩展的。
另外,它也比较难维护。一旦这个widget需要重新设计,那么你不得不修改其他几个CSS样式。想象一下,如果这段代码是使用其他语言编写的,它 基本就是一个类定义,然后在代码的另一部分使用该类定义并做出扩展。这直接违反了软件开发的开放/闭合(open/close)原则。
过于复杂的选择器
偶尔,会有些文章介绍CSS选择器对整个网站的展示起着非常重要的作用,并且宣称无需使用任何类选择器或者ID选择器。
但伴随着越深入的开发,我越会远离这种复杂的选择器。一个选择器越复杂,与HTML就越耦合。依靠HTML标签和组合器可以保持HTML代码干干净净,但却让CSS更加毛重和凌乱。
#main-nav ul li ul li div { }
#content article h1:first-child { }
#sidebar >div >h3 + p { }
对上面代码进行简单的理解。第一个可能是对下拉菜单进行样式化;第二个想说明文章的主标题应该与其他页面的H1元素不同;最后一个表示在第一段的侧边栏区域添加一些额外的空间。
如果这个HTML是永远不变的,那就无可说之处,但这根本毫不现实。过于复杂的选择器会让人印象深刻,它可以让HTML摆脱掉表面上的复杂,但对于实现良好的CSS架构目标却毫无用处。
上面提到的例子都是不具备可预测性、可重用、可扩展和可维护这四大特性的。例如第一个选择器(下来菜单)例子,如果一个外观非常相似的下拉列表需要 用在不同的页面上,并且#main-nav并不属于内部元素,那么你是否需要重新设计?假设开发者想要修改第三个例子里div里面部分标记,那么整个规则 都会被打破。
过于通用的类名
当创建可重用的设计组件时,在组件的类选择器中覆盖附件的子元素是很常见的现象。例如:
。..
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
In condimentum justo et est dapibus sit amet euismod ligula ornare.
Vivamus elementum accumsan dignissim.
Click Me!
.widget {}
.widget .title {}
.widget .contents {}
.widget .action {}
像.title、.contents、.action这些子元素类选择器可以被安全地进行样式命名,无需担心这些样式会蔓延到拥有相同类名的其他元素中。这是千真万确的。但它并没有阻止相同样式类名称会蔓延到这个组件上。
在一些大型项目上,像.title这样的名称很有可能会被用在另外一个页面或者本身。如果这样的情况发生,那么整个标题部分明显会和预期的不一样。
过于通用的类选择器名称会导致许多不可预测的CSS样式发生。
一个规则做太多事
有时,你要在网站的左上角区域做一个20pixels的可视化组件。
.widget {
position: absolute;
top: 20px;
left: 20px;
background-color: red;
font-size: 1.5em;
text-transform: uppercase;
}
下面,你需要在网站的其他区域使用该组件,那么上面的这个代码明显是错误的,不可重用的。
问题的关键是你让.widget这个选择器做的事情太多,不仅对该组件的位置进行了规定,还对它的外观和感觉方面进行了样式。外观和感觉可以通用,而位置是不可以的。有时候,把它们整合起来使用反而会大打折扣。
虽然这些看起来并无害处,对一些缺乏经验的CSS程序员来说,复制和粘贴已经成为一种习惯。如果一个新团队需要一个特定组件,比 如.infobox,他们会尝试使用这个类选择器。但如果该信息框没有按照期望的那样,在每个需要的地方正确显示出来。这时,你认为他们会怎么做?以我的 经验来看,他们会打破可重用这一规则,相反,他们会简单地把这些代码复制粘贴到每个需要的地方。做些不必要的重复工作。
3.原因
上面列举的这些常规错误实践都有一个相似性,CSS样式承担过多。
对这样的说法你会感到奇怪,毕竟,它是一个样式表,难道不应该承担大多数(如果不是全部)的样式吗?那不正是我们想要的吗?
的确。但是通常来讲,事情并没有那么简单。内容与表现(presentation)相分离是件好事,但CSS从HTML中独立出来并不意味着内容也 需要从表现中分离。换句话说,如果CSS请求深入分析HTML架构,那么从HTML中分拆所有的显示代码并不一定会实现所有的目标。
此外,HTML很少会只包含内容,也表示整体框架。通常,架构是会包含container元素,允许CSS隔离一些固定元素。即使没有表象类(presentational classes),也能混合HTML清晰地把内容展示出来。
我相信,鉴于当前的HTML和CSS状态,把HTML和CSS明智地结合起来,当做表现层是非常需要的。而通过模板和局部模板(partials)也可以把内容层进行分离。
4.解决方案。
如果把HTML和CSS结合起来,作为一个Web应用程序的表现层,那么它们需要采取一些方式更好地促进优秀CSS架构的形成。
最好的方法是CSS中尽可能少的包含HTML架构。CSS则是应该定义元素的视觉效果,无论该视觉元素在哪里。如果有一些特定的组件需要在不同的场 合显示不同的效果,那么应该赋予不同的名称。例如,CSS通过.button类选择器定义了一个按钮组件。如果HTML想要一个特定的元素看起来像按钮, 那么就可以使用.button。如果这里有特殊要求,这里的按钮与其他的有所不同(有可能更大和宽些),那么CSS需要定义一个新的类,HTML可以使用 新的类来赋予该元素新的视觉效果。
CSS赋予元素的外在特征,HTML在页面上进行调用。更少的CSS能被更多的HTML架构调用是最好的。
准确地在HTML中声明元素不仅可以清晰表达设计意图,其他开发者也可以清晰地查看标记并且知道元素将呈现的样子。如果没有这种实践,它很难区分一个元素的外观设置是有意或无意的,这样很容易导致团队混乱。
在标记中填入大量的类(classes)是种常见缺陷,这样做往往需要花费额外的精力。一个CSS样式可以给一个特定组件引用上千次。那么,为了在标记里面进行显示声明,就真的值得去重复编写这样的类吗?
虽然这种担心是有效的,但它可能会产生误导。言下之意就是无论你在CSS中使用一个父选择器还是亲手编写上千个Class,这里都会有些额外的选 择。在Rails或者其他框架里查看同级别抽象很大程度上可以在HTML中保持很好的视觉外观,并且无需在类中一遍又一遍地编写相同的类。
5.最佳实践。
针对上面的种种错误,我进行了很好地总结,并且根据自身经验提出了一些建议,希望它们能帮助您更好地实现良好的CSS架构目标,
专注
确保选择器对一些元素不进行无关样式的最好方法是不给它们机会。例如像#main-nav ul li ul li div这样的选择器可能很容易地应用于不想要的元素上。另一方面,像.subnav这样的选择器就不会给它们任何机会。把类选择器直接应用于你想要的元素 上是最好的方式,并且可以保持元素的可预测性。
/* Grenade */#main-nav ul li ul { }
/* Sniper Rifle */.subnav { }
模块化
一个组织结构良好的组件层可以帮助解决HTML架构与CSS那种松散的耦合性。此外,CSS组件本身应该是模块化的。组件应该知道如何进行样式和更好地工作,但是关于布局、定位以及它们与周围元素的关系不应该做太多的假设。
一般而言,CSS要定义的应该是组件的外观,而不是布局或者位置。同样在使用background、color和font这些属性时也要遵循原则使用。
布局和位置应当由一个单独的布局类或者单独的容器元素构成(请记住,有效地把内容与展示进行分离其实就是把内容与容器进行分离)。
给类进行命名空间
我们已经检查出为什么父选择器不能在封闭和防止交叉样式污染上面发挥100%的功效。而一个更好的解决方案就是在类上应用命名空间。如果一个元素是可视化组件的一员,那么该元素的每个子元素都应该使用基于命名空间的组件。
/* High risk of style. cross-contamination */.widget { }
.widget .title { }
/* Low risk of style. cross-contamination */.widget { }
.widget-title { }
给类进行命名空间可以保持组件独立性和模块化。它可以把现有类冲突降至最小并且减少子元素的一些特殊要求。
创建修饰符类来扩展组件
当一个现有组件需要在一个特定的语境中有所不同时,可以创建一个修饰符类(modifier class)来扩展它。
/* Bad */.widget { }
#sidebar .widget { }
/* Good */.widget { }
.widget-sidebar { }
正如我们看到的,基于父元素的缺点对组件进行修改,需要重申:一个修饰符类可以在任何地方使用。基于位置的覆盖只能被用在一个特定的位置,修饰符类也可以根据需要被多次使用。显然,修饰符类是符合HTML开发者需求的。
把CSS组织成逻辑结构
Jonathan Snook在其非常优秀的书中提到,CSS可以被分成四个不同的类:基础(base)、布局(layout)、模块 (modules)和状态(state)。基础包括了复位原则和元素缺省值;布局是对站点范围内的元素进行定位以及像网格系统那样作为一种通用布局助手; 模块即是可重用的视觉元素;状态即指样式,可以通过JavaScript进行开启或关闭。
组件是一个独立的视觉元素。模板在另一方面则是构建块。模板很少独自站在自己的角度去描述视觉和感觉,相反,它们是单一的、可重用的模式,可以放在一起形成组件。
为了提供更详细的例子,一个组件可能就是一个模式对话框。该模式可能在头部包含渐变的网站签名、或者在周围会有阴影、在右上角会有关闭按钮、位置固 定在垂直与水平线中间。这四个模式可能被网站重复多次使用,所以在每次使用的时候,你都很少会想到重新编码与设计。这些所有的模板即形成了一个模块组件。
因样式和风格使用类
有过大型网站建设的人可能有个这样的经验,一个拥有类的HTML元素可能完全不知道其用途。你想删除它,但是又犹豫不决,因为它的作用你可能还未意识到。一旦这样的事情一遍又一遍发生的时候,随着时间的推移,项目中将会有越来越多这样的类,只因为团队成员都不敢删除。
在Web前端开发中,类承担了太多的责任,因此才会产生这样的问题。样式化HTML元素、扮演着JavaScript. hook角色、功能检测、自动化测试等。当这么多应用程序在使用类时,让你从HTML中删除它们将会变的非常艰难。
然而,使用一些成熟的约定(惯例)即可完全避免这种问题。当在HTML中看到一个类时,你应该立即明白它的目的。我建议在前面使用前缀,例如用于 JavaScript的在前面加.js,表示Modernizr classes可以在前面加.supports,没有加前缀的即用于表示样式。
这样来发现未使用的类和从HTML中移除它们将会变得非常简单。你甚至可以自动完成这一个过程,在JavaScript中通过交叉引用HTML中的 document.styleSheets对象。如果在document.styleSheets中没有发现该类,即可安全移除。
一般来说,最佳做法是把内容与演示相分离,另外把功能分离开来也同样重要。使用样式类像JavaScript. hook在某种程度上可以加深CSS与JavaScript之间的耦合,但在不打破功能性的前提下很难或者根本不可能更改外观。
有逻辑的命名类
大多数写CSS的人喜欢使用连字符来分隔命名词,但连字符并不足以区分不同类型之间的类。
Nicolas Gallagher最近针对遇到的问题写了一个解决方案,并且取得了巨大的成功(略有改动),为了说明命名约定,可以考虑以下格式:
/* A component */.button-group { }
/* A component modifier (modifying .button) */.button-primary { }
/* A component sub-object (lives within .button) */.button-icon { }
/* Is this a component class or a layout class? */.header { }
从上述类中可以发现其很难正确区分类型规则。这不但会困惑,而且连自动测试CSS和HTML也变的很难。一个结构化的命名约定应该是初看就能够知道其类名与其他类之间的关系,并且知道它出现在HTML中的位置——使命名更加简单和容易测试。
/* Templates Rules (using Sass placeholders) */%template-name
%template-name--modifier-name
%template-name__sub-object
%template-name__sub-object--modifier-name
/* Component Rules */.component-name
.component-name--modifier-name
.component-name__sub-object
.component-name__sub-object--modifier-name
/* Layout Rules */.l-layout-method
.grid
/* State Rules */.is-state-type
/* Non-styled JavaScript. Hooks */.js-action-name
重做第一个例子:
/* A component */.button-group { }
/* A component modifier (modifying .button) */.button--primary { }
/* A component sub-object (lives within .button) */.button__icon { }
/* A layout class */.l-header { }
6.工具
维护一个高效且组织良好的CSS架构是非常困难的,尤其是在大型团队中。下面向大家推荐几款很好的工具来帮你管理网站CSS架构。
CSS Preprocessor
CSS预处理器采用PHP5编写,有预处理器的常见功能,可以帮你快速编写CSS。另外有些号称“功能”的预处理器实际上并不会对CSS架构产生良好作用。下面我提供一个列表,在使用时一定要避免:
● 切勿纯粹为了组织代码来嵌套规则。只有当输出你真正想要的CSS时才可以。
●在无需传递参数的时候切勿使用mixin,不带参数的mixin更适合用作模板,易扩展。
●切勿在选择器上使用@extend,它不是个单一的类。从设计角度来看是毫无意义的,它会膨胀编译过的CSS。
●在运用组件修饰符规则时,切勿使用@extend UI组件,这样会失去基础链。
@extend和%placeholder是预处理器里面非常好的两个功能。它们可以帮你轻松管理CSS抽象并且无需添加bloat和大量的基类到CSS和HTML里,否则将会很难管理。
当你初次使用@extend时,常会与修饰符类一起使用,例如:
.button {
/* button styles */}
/* Bad */.button--primary {
@extend .button;
/* modification styles */}
这样做会让你在HTML中失去继承链。很难使用JavaScript选择所有的按钮实例。
作为一般规则,很少去扩展UI组件或者在知道类型后做些什么。这是区分模板和组件的一种方式,模板无需参与到应用程序的逻辑,并且可以使用预处理器进行安全扩展。
下面是一个引用上面的模式例子:
.modal {
@extend %dialog;
@extend %drop-shadow;
@extend %statically-centered;
/* other modal styles */}
.modal__close {
@extend %dialog__close;
/* other close button styles */}
.modal__header {
@extend %background-gradient;
/* other modal header styles */}
CSS Lint
CSS Lint是由Nicole Sullivan和Nicholas Zakas编写的一款代码质量检测工具,帮助CSS开发人员写出更好的代码。他们的网站上是这样介绍CSS Lint的:
CSS Lint是一个用来帮你找出CSS代码中问题的工具,它可做基本的语法检查以及使用一套预设的规则来检查代码中的问题,规则是可以扩展的。
使用CSS Lint建议:
1.不要在选择器中出现ID。
2.在多部分规则中,不要使用非语义(non-semantic)类型选择器,例如DIV、SPAN等。
3.在一个选择器中使用的连接符(combinator)不要超过2个。
4.任何类名都不要以“js-”开始。
5.如果在非“I-”前缀规则里经常使用布局和定位应给予警告
6.如果一个类定义后被重新定义成子类,也应给予警告。
总结
CSS不仅仅是视觉设计,也不要因为你编写CSS就随便抛出编程的最佳实践。像OOP、DRY、打开/闭合、与内容分离等这些规则应该应用到CSS里面。无论你如何组织代码,都要确保方法真正帮助到你,并且使你的开发更加容易和可维护的。
【架构论文范文】推荐阅读:
剧组架构及职责06-20
企业应用架构模式07-24
工会组织架构11-01
文化传媒公司架构11-06
中国政府等级架构05-24
生产车间组织架构06-22
走班制课程架构09-08
组织架构图设置10-21
系统架构设计需求分析11-19
平安校园管理体系架构06-06