谢谢您的答复。
我对C/C++辅导感兴趣。我的教学方法是先解释新概念/新科技的必要性,或解释现行制度的缺点。通过这种方式,我试图到达设计模式的必要性和命名理由。
现在来谈谈我的实际问题。我知道几乎所有的设计模式,至少在理论上,并使用了一些实际。在使用上没有问题。但是,当我教书的时候,我常常对自己提出一些问题,这是我对学生们的期望。
?
他们引入
。
的分界线是什么?
我有自己的答案,不同的观点,请您纠正?
答案1:在开发人员之前,设计人员(低级/高级)也会麻烦于实体/对象和对象之间的通信。对他来说,语言是UML,他有类、序列、状态图等。所以我们可以理解,这些模式仅由设计者作为UML图发布,但是后来不同的开发人员给出了代码解决方案,因此被命名为“设计”模式。
答案2:在C中,“类型”和“逻辑”保持分离(即使对于使用struct关键字的用户定义的数据类型也是如此)。但在C++中,一些逻辑被合并为成员函数-例如。数组类型的边界检查。因此,在用C编写独立函数时,只需担心算法/逻辑,就可以将其命名为“重复问题”的“编码模式”。但是在OO范式(C++)中,在定义“类型”本身时,您必须考虑的不仅仅是存储空间。即。数据成员,您不能简单地将其称为逻辑,因为您几乎没有定义类型,而是通过考虑约束来设计“类型”,比如: 1.仅用于单例的实例;2.支持在状态模式中提供新的状态,等等。
如果你觉得,我把自己搞糊涂了,或者对此有太多的分析,请允许我。我想在向学生解释的时候讲得更清楚,因为他们不应该感到困惑。谢谢
发布于 2021-11-30 16:15:17
static的,那么您对模式的理解是不完整的。语言语法层次上的模式等价称为成语。习语是实现模式。它们同样重要,但不能跨语言传输。A1。你说的“设计师”听起来像个建筑师。体系结构比(GoF)设计模式更抽象。它关注跨不同系统的多个应用程序的集成。
A2。您正在描述过程编程和面向对象编程之间的区别。OOP引起了模式运动:它使他们出名;但是every paradigm has its own patterns。C是一种过程语言,而C++支持OOP。如果您打算教授不同的范例,那么您指导这两种语言的方法将是完全不同的。
https://stackoverflow.com/questions/70165889
复制相似问题