• 项目架构理解


    从大的方面讲:

    架构就是从无到有的如何把 “应用/系统/软件/项目/产品” 做出来的具体的方式。包括硬件服务器选择,软件/服务的安装使用,编程语言的选择,该语言框架的选择,具体编程技术的选择,具体到一个增删改查编写的规范及前端的用户体验编写规范。

    具体点:比如实现商城项目,里面需要什么功能:商品展示(吸引用户点击商品的方式、商品基本信息、促销信息、会员信息)、购买流程、下单流程、物流、权益展示(券等)。要有一个完整的整体项目概念,不要专注于一个小系统的架构,太小了,要思考整个设计过程。

    具体功能怎么实现,项目优化可以给产品提建议。

    分层来说:

    1.首先是逻辑架构,描述业务职责单元,例如包含哪些子系统,哪些模块,职责单元之间的依赖关系是怎样的;

    2.再就是代码架构,采用何种架构模式(分层,网关),使用什么框架体系,代码组织方式等;

    3.还有一个是存储架构,围绕持久化,缓存,消息通知等数据的存储方式,分区分片,同步机制等

    注意:技术解决了业务什么问题?之前是怎样的,改后有什么提升?

    一个典型的web项目的架构包含了他的:

    硬件架构(比如 服务器集群,Load Balance ,网络配置 ,CDN方案);

    软件架构 (比如 数据库是否做读写分离 ,数据库优化,nosql的使用,邮件发送方案,计划任务,消息管理,缓存);

    业务逻辑架构(是否使用其他公司的服务API,或提供服务API给其他公司)

    代码架构(什么语言php 还是java,什么框架 mvc,restful,前端框架,后端框架)

    描述一个项目的架构就是解释给别人这个项目是怎样的,你是怎么做满足、解决了这个项目的各种需求和问题。

  • 相关阅读:
    Java并发之ThreadPoolExecutor
    Java并发之同步工具类
    em和i , b和Strong 的区别
    OS应用架构谈(二):View层的组织和调用方案(中)
    iOS应用架构谈(二):View层的组织和调用方案(上)
    java(List或Array数组)求交集、并集、差集, 泛型工具类
    AES/DES 可逆性加密算法 -- java工具类
    用xtrabackup实现mysql的主从复制 阿里云rds到自己创建mysql
    java 生成二维码工具
    XDU 1022 (数论筛法+前缀和)
  • 原文地址:https://www.cnblogs.com/fanguangdexiaoyuer/p/11355452.html
Copyright © 2020-2023  润新知