博客园首页是需要分享干货的地方,今天早上写的《HRMS(人力资源管理系统)-从单机应用到SaaS应用-系统介绍》内容下架了,所以我就按照相关规定,只分享干货,我把之前写完的内容整理发布上来。这次主要分享一下在架构设计过程中涉及的基础知识,主要是涵盖系统架构方法、架构模式及设计模式,便于大家在后续一起探讨HRMS系统的SaaS模式的架构设计。

一、设计模式

大家或多或少的都接触并在实际的开发过程中无形中可能都使用了某种设计模式,可能我们并不知道具体的模式叫什么名字,现在讲设计模式的书、案例分享都有很多,管理理论上的内容我这里就不一一复述,整体来说,设计模式分为3类:创建型、结构型、行为型。常见的有23种设计模式,我之前写过一个系列,我相信大家之前也看过,我这里再贴下链接设计模式-系列索引》,大家感兴趣可以点击查看细节,今天在这里不单独展开设计模式的介绍和说明。

在这里我选取几个实际开发及设计过程中常用的几个设计模式给出理论教程和代码samples:

A、01.C#设计模式-抽象工厂模式  

      PPT-下载      代码Samples下载

B、02.C#设计模式-适配器模式

      PPT-下载      代码Samples下载

C、03.C#设计模式-观察者模式

      PPT-下载      代码Samples下载

D、04.C#设计模式-代理模式

      PPT-下载      代码Samples下载

E、05.C#设计模式-模板方法模式

      PPT-下载      代码Samples下载

F、06.C#设计模式-外观模式

      PPT-下载      

更多内容,请加微信群,我会及时共享到微信群中。

二、系统架构方法

早在2010年始,我便开始筹备并编写了10多篇关于软件架构方面的内容,当时写的深度、理论的完整性及高度,当前来看还差很多,经过这么多年的沉淀,目前我有信心及能力把之前没有写完的系统化的梳理明晰,通过博客的方式呈现出来,在这之前我想还是先把理论的内容给分享出来,便于我们在具体实践的过程中指导具体的设计方法。以便后续更好的推进我们的工作。之前我写过《系统架构师-基础到企业应用架构-系列索引》系列,关于《HRMS(人力资源管理系统)-从单机应用到SaaS应用》系列可以说是架构方法的实践和延续,也请大家持续关注。

A、01系统架构概述

B、02系统架构过程1之架构分析

C、02系统架构过程2之架构分割

D、02系统架构过程3之架构分划

E、02系统架构过程4之非功能目标

F、03系统架构1之层次深入

G、03系统架构2之服务深入(SOA架构)

H、03系统架构3之产品线深入

I、03系统架构4之模式深入

J、04系统架构之六大战术-应对质量属性

K、05系统架构师-十大经验

     (请点击标题下载)

三、架构设计过程实践

理论需要结合实践,才能够真正的掌握架构设计的要领,前面已经在《HRMS(人力资源管理系统)-从单机应用到SaaS应用-系统介绍》开篇中介绍了HRMS系统的行业情况、行业发展趋势及前景、行业内还存在的现状及问题、我们基于这样一个有价值的系统来实践架构设计方式落地。过程中期待大家一起研究交流。

《HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构实践系列》索引

A、HRMS系统介绍

B、系统架构准备阶段(功能性、非功能性、关键约束)

HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性、非功能性、关键约束)-上篇

HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性、非功能性、关键约束)-下篇

C、结合场景分析架构模式(概要架构)

D、确定架构5视图(细化架构)

E、.NET、Java架构落地实践

四、更多的系统架构知识及培训材料

关于更多的系统架构方面的知识,我已建立了交流群,相关资料会第一时间在群里分享,欢迎大家入群互相学习交流:

      微信群:(扫码入群-名额有限)                                               

系统架构-设计模式(适配器、观察者、代理、抽象工厂等)及架构模式(C/S、B/S、分布式、SOA、SaaS)(干货)的更多相关文章

  1. Java设计模式(三) 抽象工厂模式

    原创文章,同步发自作者个人博客,转载请注明出处 http://www.jasongj.com/design_pattern/abstract_factory/ 抽象工厂模式解决的问题 上文<工厂 ...

  2. 设计模式02: Abstract Factory 抽象工厂(创建型模式)

    Abstract Factory 抽象工厂(创建型模式) 常见的对象创建方法:    //创建一个Road对象    Road road=new Road();    new的问题:    -实现依赖 ...

  3. PHP设计模式(三)抽象工厂模式(Abstract Factory)

    一.什么是抽象工厂模式 抽象工厂模式的用意为:给客户端提供一个接口,可以创建多个产品族中的产品对象 ,而且使用抽象工厂模式还要满足以下条件: 系统中有多个产品族,而系统一次只可能消费其中一族产品. 同 ...

  4. .NET设计模式(2):1.2 抽象工厂模式(Abstract Factory)

    概述 抽象工厂模式(Abstract Factory)是所有形态的工厂模式中最为抽象和最具一般性的一种形态.抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式.抽象工厂模式可以向客户端提供一个接口 ...

  5. 设计模式的征途—3.抽象工厂(Abstract Factory)模式

    上一篇的工厂方法模式引入了工厂等级结构,解决了在原来简单工厂模式中工厂类职责太重的原则,但是由于工厂方法模式的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,从而增加系统开销.那么,我们应该 ...

  6. 设计模式的征途—4.抽象工厂(Abstract Factory)模式

    上一篇的工厂方法模式引入了工厂等级结构,解决了在原来简单工厂模式中工厂类职责太重的原则,但是由于工厂方法模式的每个工厂只生产一类产品,可能会导致系统中存在大量的工厂类,从而增加系统开销.那么,我们应该 ...

  7. Java设计模式学习笔记(四) 抽象工厂模式

    前言 本篇是设计模式学习笔记的其中一篇文章,如对其他模式有兴趣,可从该地址查找设计模式学习笔记汇总地址 1. 抽象工厂模式概述 工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问 ...

  8. PHP设计模式(三)抽象工厂模式(Abstract Factory For PHP)

    一.什么是抽象工厂模式 抽象工厂模式的用意为:给客户端提供一个接口,可以创建多个产品族中的产品对象 ,而且使用抽象工厂模式还要满足以下条件: 系统中有多个产品族,而系统一次只可能消费其中一族产品. 同 ...

  9. 设计模式(四)抽象工厂模式(Abstract Factory Pattern)

    一.引言 在上一专题中介绍了工厂方法模式,工厂方法模式是为了克服简单工厂模式的缺点而设计出来的,简单工厂模式的工厂类随着产品类的增加需要增加额外的代码,而工厂方法模式每个具体工厂类只完成单个实例的创建 ...

随机推荐

  1. AtCoder Grand Contest 11~17 做题小记

    原文链接https://www.cnblogs.com/zhouzhendong/p/AtCoder-Grand-Contest-from-11-to-20.html UPD(2018-11-16): ...

  2. Service Fabric SfDevCluster目录从默认的C盘移动

    管理员权限打开Powershell CD\ 回车 CD "C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup" ...

  3. 最小生成树-QS Network(Prim)

    题目大意: 给出的案例结果得出步骤,如下图所示,从结点1开始查找,找出的一条路径如绿色部分所标注.(关键处在于连接每条路径所需要的适配器的价格得加上去) 代码实现: #include<iostr ...

  4. CSS基础以及属性

    一.CSS 偷个懒,啥是CSS我就不介绍啦 二.CSS语法 CSS语法:选择符{属性:属性值:属性:属性值:}选择符表示要定义样式的对象,可以是元素本身,也可以是一类元素或者制定名称的元素.属性:属性 ...

  5. typescript精简版1:用ts表示常见数据类型

    一:工程准备: 1.全局安装typescript npm i typescript -g // 或 yarn global add typescript vscode 配置 在命令行执行 tsc -- ...

  6. 自己总结的C#编码规范--5.如何写好注释篇

    本文是读完前言中提到的几本书后,结合自身的想法总结出来的如何写好注释的一些比较实用的方法. 另外本文是上一篇 注释篇 的一个补充 如何写好注释 避免使用不明确的代词 有些情况下,"it&qu ...

  7. Android软件设计规范---命名规则/代码包设计规则等

    如果你将源码作为产品发布,就需要确认它是否被很好地打包并且清晰无误,一如你已构建的其他任何产品. 作为软件设计师,代码即是产品:不仅需要实现功能,还需有“优美.大方”的外表. 标识符命名法,标识符命名 ...

  8. 数组中&a与&a[0]的区别 转载自http://blog.csdn.net/FX677588/article/details/74857473

    在探讨这个问题之前,我们首先来看一道笔试题,如下: [摘自牛客网]下列代码的结果是:(正确答案是 C) main() { int a[5]={1,2,3,4,5}; int *ptr=(int *)( ...

  9. python系统编程(一)

    进程的创建-fork 1. 进程 VS 程序 编写完毕的代码,在没有运行的时候,称之为程序 正在运行着的代码,就成为进程 进程,除了包含代码以外,还有需要运行的环境等,所以和程序是有区别的 2. fo ...

  10. C++程序设计方法3:虚函数

    向上映射与向下映射 派生类对象转换成基类对象,称为向上映射. 而基类对象转换成派生类对象,称为向下映射: 向上映射可由编译器自动完成,是一种隐式的自动类型转化: 凡是接受基类对象的地方(如函数参数)都 ...