state 学习
1:对状态的访问, 直接访问,对内直接访问,对外间接访问
2:公共状态, 所有对象共享的状态,对于部分方法才会使用到的状态最好使用别的方式存储状态,例如参数或者助手
类。 all common state in an object should have the same lifetime.
3:变化的状态集合,不仅对象使用的状态变化,而且状态的数量也变化时,通常使用一个map集合来存储此类的状态。
Use common state whereever possible, Use variable state for the fields in an object that
may or may not be needed depending on usage.
4: 外来状态。 某个特别的对象感兴趣的状态,如果把他放在类中,将会违反对称性,把此类状态和其主人存储在map中。 缺点时对象复制时比较困难。
5:局部变量的类型
a: Collector(收集者), 通常是为了所有的计算而收集信息。收集的结果通常被作为计算结果返回给调用者。
通常命名为result 或者results.
b: Count(计数器), 一个用来收集某些对象的次数的收集者。
c: Explaining. 用来解释复杂表达式的中间结构,利于理解代码。通常时助手类的接入点,减少代码重复。
d: Reuse(复用). 一个表达式的变化随着时间而变化,这时需要一个临时的住所来暂住一下
e: Element(元素) 一个集合中的单个元素,例如迭代器
6:数据域(field)
常见域扮演的角色
a: 助手(Helper),保持对别人的引用,帮助主人和别人通信,当主人的很多行为都涉及到某个别人(当作
参数传递的),可以重构为助手域,通过助手和别人通信。
b: 标帜域(Flag),用来区分对象的行为,可以重构为策略模式
c: 策略域(Strategy), 对象的行为根据策略对象的变化而变化,如果对象的其生命周期内的行为不变化,
只是在同类不同对象间变化时,通过构造函数注入策略对象
d:状态域(state)
f: 组件(Components); 一个具有自主能力的对象
7: 参数(Parameter)
耦合性较小的通信方式,当一个对象和某个对象的交互次数较少时通过参数通信较少,但交互次数较多时
就该把别人招纳为手下了。
常见参数类型
a: 收集参数(Collecting Parameter), 就像个无底麻袋,把他轮流传递给每个人,把他们的money放到袋
子里,最后把他再返回到我这里,看看袋子,就知道其作用了。
b: 可选参数(Optional Parameter), 可有可无,无时认为其默认的, 可变参数可以当成一个集合作为一个
对象传递过去。
c: 参数对象, 太多的对象经常一起出入的话,那就把他们当成一个对象吧!
8:类的全局常量Const (static final)
9: 通过变量的角色来命名(scope, lifetime, role)
10:类型声明
11:初始化
a: eager initialization, 在声明出初始化,在构造函数中初始化
b: Lazy initialization 懒初始化,在真正需要的时候再去初始化。
tips:
variables (scope, lifetime, role, runtime type of variables)
role-suggesting name
从Implementation patterns中学到的
分享到:
相关推荐
### VisualSTATE 学习知识点详解 #### 一、引言 在嵌入式系统开发过程中,状态机作为一种重要的设计模式,被广泛应用于多种场景中,如汽车电子、家电控制、工业自动化等领域。状态机能够清晰地描述系统在不同条件...
【VisualState学习PPT解析】 在信息技术领域,VisualState是一个重要的概念,特别是在Windows Presentation Foundation (WPF) 和UI设计中。VisualState管理器允许开发者控制用户界面(UI)元素在不同状态下的外观和...
stateflow学习资料下载别人的-stateflow功能介绍.wps stateflow学习资料
总结来说,Stateflow教程通过介绍Stateflow的基本概念、语法和设计工具,让学习者能够掌握如何设计和实现基于事件的复杂控制系统。对于MATLAB和Simulink的用户而言,Stateflow是一种不可多得的补充工具,它可以与...
这个“Stateflow学习.rar”压缩包包含了一位学习者在探索Stateflow过程中积累的经验和理解,通过Word文档的形式提供了一些基本操作和详细解释,旨在帮助初学者更好地掌握这一技术。 Stateflow结合了状态机和流程图...
Android中StateMachine机制 对与State改变切换这种常见常用的处理, 只是各个平台框架中处理的方法不同, 这种在处理多状态较为复杂的大部分场景都能见到的策略——状态机(StateMachine) 。在Android中使用的了...
基于simulink的计时器,方便学习stateflow,Stateflow是一个跟Simulink联合起来使用的,可视化图形界面工具。在Simulink环境下,它是用来模拟和控制一些逻辑系统. Stateflow跟Simulink是完美结合在一起的,可以建模...
本文将深入探讨Stateflow的概念、其在MATLAB中的应用以及如何通过实例来学习Stateflow建模。 Stateflow是MATLAB Simulink中的一个组件,它允许用户以图形化方式表示离散事件系统,包括状态机、决策逻辑和定时器。...
### 有关Stateflow的学习 #### 一、Stateflow概述与应用背景 Stateflow是一种与Simulink紧密结合的交互式图形化设计工具,主要用于建模和模拟事件驱动系统,这类系统通常被称为反应性系统。事件驱动系统能够根据...
stateflow学习资料-sf_building-090904.pdf 网上收集的一个资料,希望对大家有用。 至少对stateflow有一个感性的认识 ican注:论坛里已经有这个帖子了,以后发帖要注意点 1.jpg
通过深入学习`Stateflow教程1.ppt`到`Stateflow教程PPT学习教案.pptx`这些资料,你可以逐步了解如何创建、编辑和仿真Stateflow图表。学习过程中,建议先从基础概念入手,然后逐步掌握更高级的功能,如嵌套状态、并行...
通过学习和掌握Stateflow教程,工程师们能够更加高效地建模和验证基于事件的系统,从而减少开发时间和错误。在提供的"Stateflow教程.pdf"文件中,您将找到更详细的步骤指导和示例,进一步提升您的Stateflow技能。
### 协程库State Threads Library (ST) 学习笔记 #### 一、引言 在探讨协程库State Threads Library(简称ST)之前,我们首先需要了解几个基础概念:协程、用户线程以及它们如何帮助提升软件的并发性能。 #### 二...
通过学习这份资料,读者将能够利用Stateflow的强大功能来设计、模拟和测试各种逻辑系统,无论是简单的状态机还是复杂的混合动态系统,都能得心应手。同时,Stateflow的可视化特性使得系统行为的解释和沟通变得更加...
在"Stateflow入门资料"中,我们可以预期学习到以下几个关键知识点: 1. **Stateflow的基本概念**:Stateflow的核心是状态和转移。状态代表系统在某一时刻的行为模式,而转移则描述了系统如何从一个状态移动到另一个...
状态机模式(StateMachine)在Android开发中是一种常用的设计模式,特别是在处理复杂的系统行为时,它可以帮助我们更好地组织代码,使其更具有可读性...通过深入学习和实践,开发者可以更好地应对各种复杂的编程挑战。
《IAR visualSTATE中文教程PPT》是一份深入解析IAR visualSTATE的教育资源,适合对嵌入式系统设计和验证感兴趣的工程师以及学习者。这份教程以其详尽的内容,为中国用户提供了方便的学习路径,帮助他们理解和掌握这...
通过学习这个教程,你将掌握如何利用Stateflow和Simulink构建和调试复杂系统模型,这对于控制系统设计、软件工程和自动化领域的工作来说是非常有价值的。无论你是初学者还是有经验的工程师,深入理解Stateflow都将...