草庐IT

java - OO设计和循环依赖

我目前在设计类(class)时遇到循环依赖问题。自从我读到AnemicDomainModel(我一直在做的事情),我真的一直在努力摆脱创建只是“getter和setter桶”的领域对象,并回到我的OO根源。但是,下面的问题是我经常遇到的问题,我不知道应该如何解决。假设我们有一个Team类,它有很多Players。这是什么运动并不重要:)球队可以添加和删除球员,就像球员可以离开球队并加入另一个球队一样。所以我们有球队,其中有一个球员名单:publicclassTeam{privateListplayers;//snip.publicvoidremovePlayer(Playerplaye

java - OO设计和循环依赖

我目前在设计类(class)时遇到循环依赖问题。自从我读到AnemicDomainModel(我一直在做的事情),我真的一直在努力摆脱创建只是“getter和setter桶”的领域对象,并回到我的OO根源。但是,下面的问题是我经常遇到的问题,我不知道应该如何解决。假设我们有一个Team类,它有很多Players。这是什么运动并不重要:)球队可以添加和删除球员,就像球员可以离开球队并加入另一个球队一样。所以我们有球队,其中有一个球员名单:publicclassTeam{privateListplayers;//snip.publicvoidremovePlayer(Playerplaye

java - OO方式的游戏设计

我正在设计一个使用Java2D和牛顿物理学的简单游戏。目前我的主要“游戏循环”看起来像:do{for(GameEntityentity:entities){entity.update(gameContext);}for(Drawabledrawable:drawables){drawable.draw(graphics2d);}}while(gameRunning);当一个实体被指示更新自身时,它会根据施加在它身上的当前力来调整它的速度和位置。但是,我需要实体表现出其他行为;例如如果“坏人”被玩家射中,则该实体应被摧毁并从游戏世界中移除。我的问题:以面向对象的方式实现这一目标的最佳方法

java - OO方式的游戏设计

我正在设计一个使用Java2D和牛顿物理学的简单游戏。目前我的主要“游戏循环”看起来像:do{for(GameEntityentity:entities){entity.update(gameContext);}for(Drawabledrawable:drawables){drawable.draw(graphics2d);}}while(gameRunning);当一个实体被指示更新自身时,它会根据施加在它身上的当前力来调整它的速度和位置。但是,我需要实体表现出其他行为;例如如果“坏人”被玩家射中,则该实体应被摧毁并从游戏世界中移除。我的问题:以面向对象的方式实现这一目标的最佳方法

c# - Getter 和 Setter 是糟糕的 OO 设计吗?

这个问题在这里已经有了答案:Whyusegettersandsetters/accessors?(37个回答)关闭7年前。GettersandSettersarebad简要阅读上面的文章,我发现getter和setter是糟糕的OO设计,应该避免使用它们,因为它们违背了封装和数据隐藏。既然是这种情况,在创建对象时如何避免它,以及如何在模型对象中考虑到这一点。在需要getter或setter的情况下,可以使用哪些其他替代方法?谢谢。 最佳答案 你错过了重点。那篇文章的有效且重要的一点是:Don'taskfortheinformatio

c# - Getter 和 Setter 是糟糕的 OO 设计吗?

这个问题在这里已经有了答案:Whyusegettersandsetters/accessors?(37个回答)关闭7年前。GettersandSettersarebad简要阅读上面的文章,我发现getter和setter是糟糕的OO设计,应该避免使用它们,因为它们违背了封装和数据隐藏。既然是这种情况,在创建对象时如何避免它,以及如何在模型对象中考虑到这一点。在需要getter或setter的情况下,可以使用哪些其他替代方法?谢谢。 最佳答案 你错过了重点。那篇文章的有效且重要的一点是:Don'taskfortheinformatio

java - Smalltalk 和 Java 中的 OO 之间的主要区别是什么?

Smalltalk和Java中的OO之间的主要区别是什么?请注意,我是一名Java程序员,试图通过探索Smalltalk来扩展他的视野。目前我对Smalltalk几乎一无所知,除了它比Java更纯粹。因此,我更喜欢显示各种Java概念如何映射到相应的Smalltalk概念的答案,然后介绍Java中根本不存在的Smalltalk概念。 最佳答案 消息传递Smalltalk使用消息传递,而不是方法调用。区别很微妙,但非常强大。一些术语:给定foobar:baz,#bar:是一个选择器,foo是一个名为#bar:的消息的接收者(#表示一个

java - Smalltalk 和 Java 中的 OO 之间的主要区别是什么?

Smalltalk和Java中的OO之间的主要区别是什么?请注意,我是一名Java程序员,试图通过探索Smalltalk来扩展他的视野。目前我对Smalltalk几乎一无所知,除了它比Java更纯粹。因此,我更喜欢显示各种Java概念如何映射到相应的Smalltalk概念的答案,然后介绍Java中根本不存在的Smalltalk概念。 最佳答案 消息传递Smalltalk使用消息传递,而不是方法调用。区别很微妙,但非常强大。一些术语:给定foobar:baz,#bar:是一个选择器,foo是一个名为#bar:的消息的接收者(#表示一个

php - OOP PHP 混淆,从过程到 OO PHP 的过渡

到目前为止,我对PHP还很陌生,一直在努力学习它。不过,我面临的一个很大的困难是我无法低头思考PHP网站是如何由类、对象和namespace构建的。我对OOP并不完全陌生,因为我在Python和Java方面有一点经验,但PHPOOP让我感到难过。我看到的许多PHP新手书籍都是关于过程化PHP的。我跟着他们制作了1--2个小网站,但是当我接触到OOP时,我就被卡住了,任何关于如何从过程式到OOPHP的过渡的提示都将不胜感激。特别是这些是我此时此刻想到的问题通常会创建哪些类型的类?我想为我的数据库中的每个表(用户、书籍)以及一个表单类提供一个类,还有其他类型的候选人也可以变成类吗?除了常用

c# - 与严格的 OO 语言相比,您更喜欢 Python 的哪些应用程序或问题类别?

我在C风格语言方面有很强的背景。并从事过几种不同类型的项目。在阅读ProgrammingCollectiveIntelligence之后,我才开始认真研究Python。.我知道Python可以解决C#可以解决的任何问题,反之亦然。但我很想知道那些经常使用两者的人,他们什么时候选择一个而不是另一个。去除其他因素,如同事经验等。您什么时候选择使用Python而不是C#或Java等静态类型的纯OO语言来创建应用程序?编辑:我担心这个问题会偏离主题。Python是一种面向对象的语言。但是,如下所述,当您的应用程序具有非常繁重的业务领域等时,它可能不是首选语言。我知道Python广泛使用对象,甚