惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
T
Threat Research - Cisco Blogs
C
CERT Recently Published Vulnerability Notes
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
L
Lohrmann on Cybersecurity
D
Darknet – Hacking Tools, Hacker News & Cyber Security
K
Kaspersky official blog
C
Cybersecurity and Infrastructure Security Agency CISA
C
Cisco Blogs
V
Vulnerabilities – Threatpost
L
LINUX DO - 热门话题
G
GRAHAM CLULEY
The GitHub Blog
The GitHub Blog
NISL@THU
NISL@THU
AWS News Blog
AWS News Blog
博客园 - 【当耐特】
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
阮一峰的网络日志
阮一峰的网络日志
Cyberwarzone
Cyberwarzone
V
V2EX
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
月光博客
月光博客
MongoDB | Blog
MongoDB | Blog
Scott Helme
Scott Helme
A
Arctic Wolf
美团技术团队
S
Schneier on Security
P
Proofpoint News Feed
G
Google Developers Blog
The Hacker News
The Hacker News
S
Securelist
Microsoft Security Blog
Microsoft Security Blog
Project Zero
Project Zero
T
The Exploit Database - CXSecurity.com
量子位
T
Threatpost
Spread Privacy
Spread Privacy
Help Net Security
Help Net Security
B
Blog
WordPress大学
WordPress大学
B
Blog RSS Feed
J
Java Code Geeks
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Blog — PlanetScale
Blog — PlanetScale
Simon Willison's Weblog
Simon Willison's Weblog
Y
Y Combinator Blog
Cloudbric
Cloudbric

博客园 - 雪影

C#异步提示和技巧 关于System.Windows.Forms.DateTimePicker的一个Bug 关于frameset中指定区域回退的实现 如何编写出拥抱变化的代码? WCF RIA Services Domain Serive的生命周期和数据交互 [译]WCF RIA Services中的集合(2) [译]WCF RIA Services中的集合(1) windows8应用安装挂起的一个原因 WPF 详解模板 Silverlight --- Behavior技术(四) Silverlight --- Behavior技术(三) Silverlight --- Behavior技术(二) Silverlight的依赖属性与附加属性(六) Silverlight的依赖属性与附加属性(五) Silverlight的依赖属性与附加属性(四) Silverlight的依赖属性与附加属性(三) Silverlight的依赖属性与附加属性(二) Silverlight的依赖属性与附加属性(一) 从数据库读取图片,并固定显示
Silverlight --- Behavior技术(一)
雪影 · 2012-10-29 · via 博客园 - 雪影

Silverlight 3这个版本刚释出时,让人感到惊艳的新功能很多,但要说哪一项技术可以彻底改变和提升开发人员与设计师之间的合作方式,并且能够达成真正的模块化并且提高程序代码重用性,对于Silvelright应用程序(或网站)的开发有着决定性的关键影响,那非Behavior技术莫属了。

几乎我的所有朋友(和客户们),对于Silverlight加入这个新功能无不大加赞许,它一举解决了过去designer(设计师或美术人员)developer(程序设计师)长期的合作与沟通问题,找出了一个可以让设计师和开发人员好好沟通并且互相配合的方式(这部分是Behavior对于Designer的价值);同时,这个技术也提供了另一种系统开发的可能性,让不具备高度程序开发技术的开发人员,也可以撰写出自己需要的系统,并且让软件重用性大幅提升(这部分则是Behavior对于Developer的价值)

Behavior可以把一些常用的行为封装成可重复使用的组件(Component),这个组件从技术面来说,当然只是没有外观的一组类别(Class),而开发人员或设计师可以在Blend 3当中将这个类别的对象实体(instance)『套用(Hook)』到某一个控件上,使得套用了该Behavior的控件可以不须撰写任何程序代码,就可以立即拥有(达成)一些和使用者互动的行为。

例如说,当我们把『拨放动画』这一个Behavior套用在Button这个对象上之后,当用户点选(Click)Button,则动画就自动被拨放了,不用写程序,使用起来就跟拖曳控件一样自然。这让设计师(Designer)有机会可以独立的建置Silvelright应用程序,一扫过去设计师必须时时刻刻依赖开发人员而无法独立运作的窘境。

这也让我们有机会把『行为』对象化。请注意,在传统的面向对象程序设计观念中,过去我们只把UI层的需求组件化成为控件,而现在我们则可以进一步地把实现(达成)特定功能的代码段,例如发一封信、拨一段动画、将窗体上的数据存入数据库等『动作』,也组件化成为『行为』(其实上在Silverlight中有ActionBehavior这两种实现方式可供选择,容后说明)

如此一来,除了设计师之外,若开发人员擅用Behavior机制也将可以让整个Silverlight应用程序的设计更加的结构化与对象化,我们可以把常用的『动作』封装起来重复使用,由资深程序设计师来设计Behavior,而初阶或是UI的程序设计师则负责使用这些Behavior来开发程序。

在理想状况下,Designer(设计师)domain expert(特定领域的专家,例如财会人员、HR人员、或MIS)甚至可以完全不需要具备程序设计的观念,只需要了解基础的事件(Event)观念,就可以顺利的开发出一套系统,若需要实现特定的功能时,可商请developere为他们开发所需要的Behaviordesigner只需要取得这些Behavior并使用即可。

理想状况离现实很遥远吗?一点也不,依据我实际针对企业讲授Silverlight课程的经验来看,Behaivor几乎掳获所有Designerdomain expert的心,甚至我们几乎可以期待这样的概念衍生到Windows Form/Web Form的应用程序开发当中。

原文地址:

http://blog.csdn.net/dotnetwalker/article/details/5438704