Jeff 的专栏

架构师之路

架构师之路(六)五视图方法论

一、软件架构设计的五视图 根据关注角度的不同,软件架构又分为逻辑架构、开发架构、运行架构、数据架构和物理架构。 逻辑架构:着重考虑功能需求,系统应当向用户提供什么样的服务,关注点主要是行为或职责的划分。逻辑架构关注的功能,不仅包括用户可见的功能,还应当包括为实现用户功能而必须提供的辅助...

2019-03-11 16:44:05

阅读数 48

评论数 0

架构师之路(五)如何做好业务建模?

“我深怕自己本非美玉,故而不敢加以刻苦琢磨,却又半信自己是块美玉,故又不肯庸庸碌碌,与瓦砾为伍。” 现实生活中的我们不都是这样吗?明明庸庸碌碌,却又不甘庸碌一生。 -中岛敦(日)《山月记》

2019-03-10 21:52:34

阅读数 21

评论数 0

架构师之路(四)关于企业服务和ERP

做企业服务,即便是电商系统,企业ERP的一套东西是不可避免要接触的,如WMS ERP 进销存,所以这些概念和模式一定要搞清楚了。   职业生涯其实是一个不断拔高的过程,不断的积累经验,结实人脉,开拓视野来一步步升华自己,最重要的是不要停止学习,不要拒绝进步,一定要自信,一定要让自己站在更高一层...

2018-12-08 16:22:14

阅读数 62

评论数 0

架构师之路(三)再次转变思维,最有价值的东西

【架构师职责】 架构师的核心在于职责,包括业务职责,人员职责,所有的东西需要在职责范围内 所有的功能性需求都不在架构师的职责范围内 所有非功能性需求才在架构师的职责范围内,如性能 可扩展性 高可用 事务   【设计边界】 在做设计的时候一定要划清边界,如可以给出stage1,2,3,来...

2018-12-08 16:20:36

阅读数 71

评论数 0

架构师之路(二)转变思维,动起来

【沟通与信任】 1. 沟通:架构师不是坐在位置上一个人写代码的,而是需要不断跟人沟通的,架构组内部有好的想法随时沟通,大家对问题进行权衡,形成一个很open的团队,因为架构师的设计是需要承载客户价值(需要跟客户沟通),并让设计快速落地实现(跟开发沟通)。而且设计的工作要不断的做tradeoff,...

2018-12-08 16:16:31

阅读数 54

评论数 0

架构师之路(一)Let's Start At The Very Beginning

【架构师的最大的价值】 1.客户价值转化为设计(设计承载客户价值) 2.把设计快速落地实现 【设计原则】 1.设计既要解耦合,强耦合设计往往存在灵活性和扩展性的问题 2.设计也不能做穿了,一个功能尽量包含在一个模块里,不能扩散到其他模块 【关键知识点】 1.领域驱动设计之聚合与聚合根...

2018-11-29 16:15:47

阅读数 93

评论数 0

使用Apache JMeter做压力测试

- 介绍 -JMeter是Apache组织的开放源代码项目,能做功能测试和性能测试。它能够对HTTP和FTP服务器进行压力和性能测试,也可以对任何数据库进行同样的测试(通过JDBC),还能以多种形式展现测试结果。- 应用场景 -开发环境UI响应比较慢,解决思路:1. 先用browser debug...

2018-05-22 14:15:41

阅读数 881

评论数 14

第一个Python小游戏

猜数游戏,规则: 1. 程序生成1-10的一个随机数 2. 每次猜数,程序给出提示(或大,或小) 3. 一共3次机会 程序: #p2_1.py """--- 第一个小游戏 ---"""#长字符串 import random s...

2018-02-02 21:02:43

阅读数 1520

评论数 0

什么是架构,什么是架构师?

什么是架构,什么是架构师? ——这似乎是聊架构话题时永恒的问题。 从内心讲我真的不想回答架构具体需要做什么,架构师应该具体负责什么。因为从实际情况看,在不同的系统层级,不同的需求下架构师的职责也会不同;从不同的技术角度看,架构师又是个变色龙——一时是技术的大拿,一时是技术的规划...

2017-12-28 13:27:06

阅读数 225

评论数 0

Lambda表达式之map reduce & groupingBy

1. map & reduce reduce操作可以实现从一组值中生成一个值。count、min、max方法,因为常用而被纳入到标准库中。事实上,这些方法都是reduce操作。 2. 使用收集器 前面使用过collect(toList())在流中生成Lst,但是有时人们还希望从流中生成...

2017-09-28 21:08:05

阅读数 830

评论数 0

软件设计原则之职责单一原则

职责单一原则作为面向对象的SOLID原则之首,可见其重要性了,职责单一原则使得软件系统更易于开发,测试和维护,在设计架构上也体现了高内聚低耦合的特性。 面向对象的S.O.L.I.D 原则 一般来说这是面向对象的五大设计原则,但是,我觉得这些原则可适用于所有的软件开发。 Single Respo...

2017-09-01 17:05:20

阅读数 258

评论数 0

IntelliJ 使用心得

从Eclipse转到IntelliJ的同学,适应快捷键最快的方法就是在IntelliJ里应用Eclipse的快捷键

2016-11-11 19:01:55

阅读数 253

评论数 0

JDK动态代理与Spring AOP

前段时间通过深入研究Spring框架,发现其使用了很多设计模式使其具有良好的架构,其中就包括了很多的代理模式。我们知道,代理模式有如下2种实现方式: 1. 被代理的类和原始类实现同一个接口,然后代理类通过聚合原始类的方法,来实现代理的功能; 2. 被代理的类继承原始类,然后重写原始类的方法并且...

2016-10-01 16:29:13

阅读数 382

评论数 0

使用jmap和MAT分析JVM堆内存

我的一台生产环境机器每次运行几天之后就会莫名其妙的宕机,分析日志之后发现在tomcat刚启动的时候内存占用比较少,但是运行个几天之后内存占用越来越大,通过jmap命令可以查询到一些大对象引用没有被及时GC,这里就要求解决内存泄露的问题。

2016-09-07 16:25:29

阅读数 19720

评论数 4

Java EE 组件机制

前言:在开发Java EE应用时,考虑到应用的可扩展性,有时候需要在不改变核心代码的情况下,给某个功能模块扩展功能,比如说:一个电商网站的会员注册模块,这是一个核心模块,在这个核心模块的基础上要扩展一个功能,即用户注册完成之后需要额外给用户手机发一条短信。为了完成这么一个任务,有必要引入Java ...

2016-07-12 20:26:34

阅读数 650

评论数 0

Linux 下 Tomcat JDK 设置

应用场景: 如果在一台Linux主机上要部署多个tomcat,  且这多个tomcat使用的JDK版本还不一样,如图: 现需要变更红框中的jdk版本为1.6,在这种情况下就需要给每一个tomcat指定其环境变量。 方法: 1.  下载和安装JDK,网上已经有详细的步骤,步骤略。 假设下载安装...

2016-04-20 09:54:45

阅读数 537

评论数 0

swing入门教程(五) swing其他重要概念

——关于Swing 布局、事件和模型。 既然您已经知道了大多数(肯定不是全部)可以用来制作 UI 的组件,那么就必须实际用它们做些什么。您不能只是随意地把它们放在屏幕上,然后就指望它们立即就能工作。您必须把它们放在特定的点上,对它们的交互作出反应,然后根据交互更新它们,用数据填充它们。要填满...

2016-02-05 10:42:24

阅读数 1436

评论数 0

swing入门教程(四) 附加的swing小部件(下)

——在这一节中,我将介绍 Swing 库中的其他全部组件、如何使用它们、它们看起来是什么样的,等等,这部分内容应当让您更好地了解 Swing 为 UI 开发人员提供了什么。 JOptionPane JOptionPane 是在 Swing 中类似“快捷方式”的东西。通常,作为 UI...

2016-02-05 10:37:54

阅读数 1665

评论数 0

swing入门教程(三) 附加的swing小部件(上)

——在这一节中,我将介绍 Swing 库中的其他全部组件、如何使用它们、它们看起来是什么样的,等等,这部分内容应当让您更好地了解 Swing 为 UI 开发人员提供了什么。 JComboBox 我们从 JComboBox 开始介绍。组合框与下拉选择相似,区别在于使用组合框时用户可以不从...

2016-02-05 10:34:52

阅读数 2725

评论数 2

swing入门教程(二) 简单的swing小部件

—— 就像所有的“x 入门”教程一样,本教程也包含必不可少的 HelloWorld 演示。但这个示例不仅对观察 Swing 应用程序如何工作有用,还对确保设置正确很有用。一旦使这个简单的应用程序能够成功运行,那么之后的每个示例也将能够运行。 JLabel Swing 库中...

2016-02-05 10:26:13

阅读数 5439

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭