软件工程关注的不只是写代码,还包括需求、设计、测试、部署、维护和协作。
SDLC
软件开发生命周期通常包括:
- 规划
- 需求分析
- 设计
- 开发
- 测试
- 部署
- 维护
常见模型包括瀑布模型、迭代模型、敏捷开发和 DevOps。
DevOps
DevOps 强调开发与运维协作,目标是更快、更稳定地交付软件。
核心概念:
- CI:持续集成
- CD:持续交付/部署
- IaC:基础设施即代码
- 监控与日志
- 自动化测试
OOP
面向对象的核心是封装、继承和多态。
封装隐藏内部实现;继承复用和扩展能力;多态让同一接口有不同实现。
SOLID
SOLID 五大原则:
- 单一职责
- 开闭原则
- 里氏替换
- 接口隔离
- 依赖倒置
这些原则的目标是降低耦合、提升可维护性。
设计模式
常见模式:
- Singleton:单例
- Factory:简单工厂
- Factory Method:工厂方法
- Adapter:适配器
- State:状态
- Strategy:策略
设计模式不是为了炫技,而是为了解决重复出现的结构性问题。