一屋不扫,何以扫天下。再说也没有那么多天下(大系统)可扫,更多的是一个个自己居住的小屋(手边的小项目,子模块),所以认真的开始扫自己的小屋。
在visual studio中,解决方案(Solution)下可以创建多个项目(Project),很多复杂的系统会包括各类型项目,web ui的,web api的,app(不同手机平台的),小程序公众号的(不同厂商的),desktop的(不同操作系统的),甚至还有嵌入式的,其实,再大的系统,也会拆分来开发,更何况现在的微服务思想,也是建议把一个单体的大应用,变更功能独立的微服务,所以,做好小项目很重要。
小项目(模块)也是需要架构的,大项目一般有统一的要求,比如ORM,日志,监控埋点,小项目基本是就是靠个人发挥了(当然有的团队也会给公司的项目作个标准要求)。
我想从几个方面分享一下自己的经验,仅供参考:
业务模块
开发:根据需求确定项目架构,选型框架:是不是一个公众号就能解决,或一个desktop就可以;很多时候框架是用户或上级确定好的,基本是照做实现,那就要把重心放在需求的分析,模块架构分层,ORM选型;还有就是要重视一些三方模块的license,毕竟尊重别人也是尊重自己
数据库:很多项目是解决一类事务的,事务的结果就会变成数据,以供后期使用,汇总,选择适合的数据库很关键;分析项目数据的规模,访问量,来选择合适的数据库;再就是数据库设计,该符合的范式都符合,其实有时实体数据库不失为一好的选择。
日志
一定要帮自己上个好的日志框架,因为自己肯定会写出bug的;同时一定要写好日志,出问题时,不仅能定位问题,还能解决问题,能在适当的地方,适当的时候,记录下适当的日志,这是个技术活,需要通过经验总结和完善。
监控报警
如果你做的是web,或后台任务类的项目,长期在线,那一定要加上监控报警,要不你总是在最后知道系统塌了,然后就会……
架构的话题太广,架构技巧也林林总总,虽然做的是小项目,也要认真做好业务架构,做好分层;数据库设计,符合范式,拥抱实体库;千万加上日志,千万;监控报警能用就有。
扫好小屋,等待天下!