背景
现在我们开始设计第三版AR***,我负责的部分是推课部分,在领导的一步步引导之下慢慢做出符合要求的产品
方案
现在功能是老师进行推课,现在在后端代码设计一个推课机器人,代替老师的职责,进行推课。
一:汇总所有推课的功能
二:设置推课机器人的方法
手动从头开始推送
手动继续上次推送
手动上切
手动下切
手动任意切
自动下切
手动不限时间暂停
手动限定时间暂停
颗粒自动继续
颗粒手动继续
课程自动结束
课程手动结束
计时器(开始 暂停 继续 结束)
三:方法之间的关系
- 手动从头开始推送 (调用计时器的开始方法(传入头节点信息))
- 手动继续上次推送 (调用计时器的开始方法(传入上次推送节点的信息))
- 手动上切 (调用计时器的开始方法(传入指定节点的信息))
- 手动下切 (调用计时器的开始方法(传入指定节点的信息))
- 手动任意切 (调用计时器的开始方法(传入指定节点的信息))
- 自动下切(计时器结束方法中调用下切方法)
- 手动不限时间暂停(调用计时器的暂停方法)
- 手动限定时间暂停(调用计时器的暂停方法(传入暂停时间))
- 颗粒自动继续(调用计时器的继续方法)
- 颗粒手动继续(调用计时器的继续方法)
- 课程自动结束(调用计时器的结束方法)
- 课程手动结束(调用计时器的结束方法)
四:方法合并
上述方法1和方法2可以写成方法的重载。推送的两种不同形式。
方法6调用方法4
方法7和方法8。写成方法的重载。一个传递暂停的时长,一个不传递暂定的时长
方法9个方法10。是一个方法。只不过一个是计时器调用,一个是前端调用
方法11和方法12。是一个方法。一个是自动下切到最后一个任然下切时调用,一个是前端调用。
五:方法汇总
推课机器人方法
简略版
详细版
链表方法
六、推课机器人作为内部类的原因
- 内聚性的要求。
a. 我们希望每一个颗粒都可以进行自由的切换。所以我们专门抽出来了一个抽象的颗粒父类,让每个颗粒都可以通过继承的方式,拥有自由推送的能力。所以我们在颗粒类里设计了各种推送的方法。
b. 但是推课机器人本身的功能很多,非常的复杂,并且它只为颗粒类服务。在抽取推课机器人的时候,我们选择了与颗粒类拥有更好内聚的内部类,而不是将其放到外部。 - 封装的要求
a. 对于抽出来的推课机器人来说,我们指向让它为颗粒类服务,就算是外部想要访问,也必须通过颗粒类进行。所以我们选择将其对抽象颗粒类以外进行隐藏,在抽象颗粒类内又封装了一层。
总结
做事情的时候整体的思路是遍历 分类 找联系 汇总,凡事都是如此。
成为一名优秀的产品经理需要综合运用技术、商业和沟通等多方面的技能。以下是成为一名成功产品经理的一些建议:
建立广泛的技术知识:作为产品经理,你需要了解产品的技术方面,这样才能更好地与开发团队进行沟通,并有效地解决技术问题。学习有关软件开发、数据库、用户体验设计等方面的知识,可以帮助你更好地理解产品开发流程。
深入了解目标市场:了解你的目标市场、客户需求和竞争对手至关重要。进行市场研究和用户调查,收集反馈和数据,帮助你制定明智的产品策略,满足用户需求,同时在市场中保持竞争优势。
设定清晰的产品目标:确保你的产品目标明确,并且与公司整体战略相一致。合理设定目标可以帮助你在产品开发过程中集中精力,并衡量产品成功与否。
制定优先级:产品经理经常会面临多个任务和需求,制定优先级是至关重要的。了解什么是紧急的、什么是重要的,并将其与时间和资源限制相结合,帮助你做出明智的决策。
良好的沟通技巧:作为产品经理,你需要与各种团队进行有效的沟通,包括开发团队、设计师、销售团队等。确保你的沟通清晰明了,并能够有效传达你的想法和需求。
技术解决问题:在产品开发过程中,难免会遇到问题和挑战。作为产品经理,你需要有解决问题的能力和决心,找到切实可行的解决方案。
不断学习和改进:产品经理是一个不断学习和改进的过程。保持对新技术、市场趋势和行业动态的关注,不断完善自己的技能,以适应不断变化的环境。
建立团队合作:成功的产品经理需要与各种不同背景和专业知识的人合作。建立良好的团队合作和领导能力,协调不同团队的合作,共同推动产品的成功。
风险管理:产品开发中会有风险,需要在合适的时候进行风险评估,并采取适当的措施来降低风险。
数据驱动决策:基于数据做决策可以降低主观判断带来的错误。利用数据分析和用户反馈来指导产品改进,确保产品在市场上表现良好。