工作两三年的人才能体会的软件设计思想

最近看了几本关于编程的书籍,都是些讲解软件架构和设计的书。根据目前脑袋中还残留的记忆,相关知识总结如下:

1. 编程范式

目前被提出来的编程范式为:结构化编程范式、面向对象编程范式、函数式编程范式。从bob大叔的大作中看出,编程范式的提出并非为编程增加了什么东西,而是限制了什么。

  • 结构化编程范式,由Edsger Wybe Dijkstra于1968年最先提出。限制了程序的控制权的直接转移;
  • 面向对象编程范式,是在1966年由Ole Johan Dahl和Kriste Nygaard在论文中总结归纳出来的。这两个程序员注意到在ALGOL语言中,函数调用堆栈可以被挪到堆内存区域里,这样函数定义的本地变量就可以在函数返回之后继续存在。限制了程序控制权的间接转移;
  • 函数式编程范式,是基于与阿兰.图灵同时代的数学家Alonzo Church在1936年发明的λ演算的直接衍生物。限制了程序中的赋值。

2. SOLID原则

SOLID原则中最广为人知的应该是单一职责,这也是很多程序员学习的第一个简单原则。但在SOLID原则中,最核心的原则是开闭原则,所有其他的原则都是为其服务的。

  • 单一职责原则,内涵不是指函数或类或模块只做一件事,而是说只有一个变化的方向,只为一个角色服务。这一点很多人存在误解。难点在于如何识别变化的方向!
  • 里式替换原则,类的继承体系,子类均可以替换父类;
  • 迪米特法则(有些地方翻译为得墨忒法则,最少知识原则),只与你的直接朋友交谈,不和陌生人说话;
  • 接口隔离原则,客户端不应该依赖他不需要的接口,类间的依赖关系应该建立在最小的接口上。一个大的接口,可以拆分成两个小的接口给两个不同的类使用。
  • 依赖倒置原则,上层模块不应该依赖于底层模块,他们都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。这个原则在软件设计和解耦中极其重要,平时应该要有意识的去关注软件层次的依赖。
  • 开闭原则,本质上这不是一个具体的原则。一切的一切,都是为了保持软件对扩展开放对修改关闭,维持软件的高内聚低耦合。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于Unity制作三维设计软件是可行的,具有强大的图形渲染和交互功能,适用于开发各种类型的三维应用程序,包括三维设计软件。下面是一些步骤和考虑事项: 1. 确定需求:首先,明确你的三维设计软件的功能需求和目标。确定你想要实现的设计工具、交互方式、模型编辑和操作等方面的功能。 2. 用户界面设计:设计一个直观友好的用户界面,使用户可以轻松地进行模型的创建、编辑和操作。考虑到用户体验和易用性,设计合适的交互元素、工具栏、菜单等。 3. 三维建模和渲染:利用Unity的内置或第三方插件进行三维建模和渲染。你可以使用Unity的编辑器或编写脚本来创建、修改和查看三维模型,并使用材质和光照效果进行渲染。 4. 文件格式支持:确定你的软件是否需要支持特定的文件格式,如OBJ、FBX等,并相应地编写导入和导出功能,以便用户可以在软件中导入和导出模型。 5. 交互功能:考虑用户与模型之间的交互方式,例如选择、移动、旋转、缩放等操作。利用Unity的输入系统和交互脚本来实现这些功能。 6. 自定义工具和功能:根据你的软件需求,可能需要编写一些自定义的工具和功能,如网格编辑器、纹理绘制、特效等。利用Unity的脚本编程能力来实现这些自定义功能。 7. 性能优化:如果你的软件需要处理大量的模型和复杂的渲染,你需要进行性能优化,如使用级别LOD、批处理、减少渲染调用等手段来提高性能。 8. 测试和反馈:在开发过程中进行测试,并根据用户反馈进行改进和优化。确保软件的稳定性和可靠性。 请注意,开发三维设计软件需要一定的编程和三维图形方面的知识。熟悉Unity引擎和C#编程语言将有助于你顺利开发和实现你的软件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值