- 《系统架构设计师教程(第2版)》第15章-面向服务架构设计理论与实践-05-SOA设计模式
玄德公笔记
#系统架构设计模式软考架构师考试清华版第二版SOA系统架构设计师教程
文章目录1.服务注册表模式1.1服务注册表1.2SOA治理功能1.3注册表中的配置文件2.企业服务总线(ESB)模式3.SynchroESB4.微服务模式4.1概述4.2微服务架构模式方案4.2.1聚合器微服务1)概述2)几种特殊的聚合微服务4.2.2链式微服务4.2.3数据共享微服务4.2.4异步消息传递微服务4.3微服务架构面临的问题与挑战1.服务注册表模式1.1服务注册表服务注册表Servi
- 应用基本期末
渔jy
Android系统及应用应用物联网
选以下哪些属于Java的三大特性:a.抽象b.封装c.面向对象d.分布式e.安全性f.平台独立以下哪些是Object的公用方法?a.equals()b.getContext()c.notify()d.toString()e.clone()int和integer两个谁更占用内存?a.Intb.integer“a==b”和“a.equals(b)”是否有区别?a.Yesb.No以下关于ArrayLis
- ubuntu配置samba在win10访问
axk0909
ubuntu服务器linux
买了个云服务器,想在win上直接访问,先弄个sambaSamba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(ServerMessagesBlock,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。1在ubuntu安装sambasudoapt-getinstallsamba2编
- spring boot jar 启动报错 Zip64 archives are not supported
赵丙双
javaspringbootjarzipzip64loader
springbootjar启动报错Zip64archivesarenotsupported原因、解决方案问题为什么springboot不支持zip64zip、zip64功能上的区别zip的文件格式spring-boot-loader是如何判断是否是zip64的?参考springboot版本是2.1.8.RELEASE,引入以下phoenix依赖之后启动报错。org.apache.phoenixph
- 8月3日共读『定投改变命运』 第17天
林晶晶Jane
《定投改变命运》(第三版)电子版链接:https://ri.firesbox.com/#/cn/今天我们共读的是:3.4场外持续赚钱能力思考:场外赚钱能力本质上是什么能力?购买他人的时间再卖出去很多次,即销售。为什么说场外赚钱能力是成功践行定投的核心之一?一个定投策略践行者必须做到长期持续的投入,也就是说,他必须得有一个长期持续的场外赚钱能力。在场外赚的钱必须能足以覆盖一切日常开销,并且还要足以应
- 若依ruoyi-ui执行npm run dev启动报错:esnext.set.difference.v2.js in ./src/utils/index.js 处理方案
爱摄影的程序猿
uinpm前端
一、错误现象:ERRORFailedtocompilewith7errors09:05:43Thesedependencieswerenotfound:*core-js/modules/esnext.set.difference.v2.jsin./src/utils/index.js*core-js/modules/esnext.set.intersection.v2.jsin./src/util
- Example of an Automated SBOM Generation Using Syft
Chia-Te Kuan
分析工具c++SBOMSTQC
CONTENTWhyIneedaSBOMWhatisSBOMHowtobuildSBOM?IdentifyComponents:GatherMetadata:AutomateDependencyTracking:DocumentRelationshipsUpdateRegularlyValidateandVerifyGeneratetheSBOMIntegrateintoDevelopmentWo
- 2021-12-29
yuRun
阅读完形填空单词hit*v.击中staybehind*留下来whisperv.小声说thewholething整件事givesb.ahug拥抱某人targetn.目标forgive——forgavev.原谅upset*adj.沮丧的,不安的hide——hidv.隐藏some与anysome肯定,any否定,疑问句,wouldlike用some.与形容词的位置关系复合不定代词+adj.(不形原则)多
- 后端怎么处理前端传入的参数应该做哪些处理?
dyjs.akcnzssa.s.
javaweb前端状态模式
我们需要对传来的参数做什么处理?1.规则校验(哪些参数必须传入,哪些参数不能一起使用,哪些参数不能传入,等等)2.对字符串类型的参数做trim处理注意,接收前端参数的实体类不会为null,即使你未传入任何参数,通常情况下,SpringMVC会在请求处理时创建一个新的AesBusAesMappingDTO实例,并将其注入到queryDataMapping方法中。因此,在正常的请求处理流程中,aesB
- es遇到的问题
云帆@
elasticsearchelasticsearch
一、目录ERROR:[1]bootstrapchecksfailed.Youmustaddressthepointsdescribedinthefollowing[1]linesbeforestartingElasticsearch.ERROR:Elasticsearchexitedunexpectedly,withexitcode78二、实现ERROR:[1]bootstrapchecksfai
- ERROR:master启动报错: Attempting to operate on hdfs namenode as root
CourageLee
Dockerhadooplinux
[root@masterhadoop]#sbin/start-all.shStartingnamenodeson[master]ERROR:AttemptingtooperateonhdfsnamenodeasrootERROR:butthereisnoHDFS_NAMENODE_USERdefined.Abortingoperation.StartingdatanodesERROR:Attemp
- 软考高级系统架构设计师:SOA和ESB含义、作用与特点
快乐骑行^_^
软考高级系统架构设计师考试系统架构软考高级系统架构设计师SOA和ESB含义作用与特点
软考高级系统架构设计师:SOA和ESB含义、作用与特点一、SOA基本概念二、ESB基本概念三、ESB作用一、SOA基本概念SOA是一个组件模型,SOA将应用程序的不同功能单元(服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言,这使得构件在各种这样的系统中的服务以一种统一和通用的方式进行交互。二、ESB基本概念ESB是
- 启动oracle 报错,Oracle启动报错 ORA-01078: failure in processing system parameters
weixin_39789690
启动oracle报错
Oracle启动报错ORA-01078:failureinprocessingsystemparameters问题原因其实是非常的简单了,我们来看看此问题的一些解决方法。报错:在启动Oracle数据库时报错,如下:[oracle@localhost~]$sqlplus/assysdbaSQL*Plus:Release11.2.0.1.0ProductiononSatFeb1619:43:43201
- MicroServices(4)--SOA、MSA以及ESB概念
秋天的猿
MicroServicesSOAMSA以及ESB概念
单体应用优点:开发快,尤其是在开发一款新产品(而不是在老代码基础上开发)若以最短时间推向市场,可以考虑。缺点:1、代码严重耦合3、可能会影响开发效率,如代码超过一百万行,本地开发代码很难编译通过更别说测试自己的代码了。4、简单单体模式打包后的部署结构可能过于庞大,导致业务系统启动很慢,进而也会影响系统的可用性。5、扩展性受限制。如任何一个功能存在性能问题,那么都需要多部署几个完整的实例,再加上负载
- **脑图制作的Bootstrap Bundle项目指南**
潘惟妍
脑图制作的BootstrapBundle项目指南bootstrap-bundleBraincraftedBootstrapBundleintegratesBootstrapintoSymfony2byprovidingtemplates,Twigextensions,servicesandcommands.项目地址:https://gitcode.com/gh_mirrors/bo/bootstr
- 【Azure 应用服务】Python3.7项目在引用pandas 模块后,部署报错
云中路灯
问题描述参考“快速入门:在Linux上的Azure应用服务中创建Python应用”文档,在AppServiceForLinux环境中部署Python应用,在添加了pandas,应用本地运行成功,但是部署到AppService后,启动报错:ApplicationError2021051101.png问题分析获取日志:可以通过高级工具(kudu)连接到AppService后台,因为是Linux系统,所
- 软考-系统架构设计师(ESB-企业服务总线)
李小斌96
软考软考架构师企业服务总线ESB软考ESB
来源ESB的概念是从SOA发展而来,它是一种为进行连接服务提供的标准化的通信基础结构,基于开放的标准,为应用提供了一个可靠的、可度量的和高度安全的环境,并可帮助企业对业务流程进行设计和模拟,对每个业务流程实施控制和跟踪、分析并改进流程和性能。在一个复杂的企业计算环境中,如果服务提供者和服务请求者之间采用直接的端到端的交互,那么随着企业信息系统的增加和复杂度的提高,系统之间的关联会逐渐变得非常复杂,
- 面向服务的体系架构(SOA)和企业服务总线(ESB)
信道者
笔记1024程序员节
1.面向服务的体系架构SOAServiceOrientedArchitecture(SOA)是一个粗粒度、松耦合的服务架构。它将系统内部不同的功能单元称为服务,并通过定义简单、精确的接口和协议进行通信。这些接口是通过中立的方式进行定义,独立于各个服务的硬件平台、操作系统和编程语言。这让异构系统中的各种服务可以以通用的方式进行通信。2.企业服务总线ESBEnterpriseServiceBus(ES
- 计算机领域学术会议(ICCBD+AI 2024)
AC学术中心
人工智能
第五届计算机、大数据与人工智能国际会议(ICCBD+AI2024)将于2024年11月1日-3日在江西景德镇召开。本届会议由景德镇陶瓷大学主办,西安交通大学、暨南大学、南京邮电大学、景德镇学院、ELSP(爱迩思出版社)、ESBK国际学术交流中心、AC学术平台协办。会议将围绕计算机、大数据和人工智能等相关研究领域特邀国内外数位在此领域学术卓越的学者专家做相关致辞与报告。投稿指南1、论文模板2、请您根
- 7月13日共读『定投改变命运』 第2天
林晶晶Jane
《定投改变命运》(第三版)电子版链接:https://ri.firesbox.com/#/cn/今天我们共读的是:1.2所谓长期它究竟是多久思考:什么是大周期?一个大周期由一个下降的B阶段和上涨的A阶段构成。为什么我们要经历至少两个大周期?趋势很容易被误解,当人们看到昨天价格比前天高,今天价格比昨天高,然后就以为看到了“上涨趋势”,误以为明天的价格就会比今天的更高……事实上,趋势这个东西,短期之内
- 莆田鞋厂哪个比较出名,莆田知名鞋厂排行榜一览表
腕表鞋屋
莆田鞋厂哪个比较出名,莆田知名鞋厂排行榜一览表莆田鞋比较出名鞋厂有协丰鞋业、鑫龙鞋业、新协胜鞋业、和顺鞋业、新荔丰鞋业、西天尾双凤鞋业等等。微信:a43947(下单赠送精美礼品)1、福建协丰鞋业有限公司。隶属于福建大丰集团。坐落在福建省莆田市涵江区西。该厂主要生产SHOX系列运动鞋和篮球鞋,还生产nikesb系列和dunksb系列、airforce1系列等复古鞋。2、莆田市鑫龙鞋业有限公司3、莆田
- 前端配置环境
葱头的故事
前端
工具类配置一、下载GitBash下载地址二、下载google浏览器下载地址三、下载微信开发者工具下载地址四、下载vscode下载地址1、安装中文包安装中文包教程2、安装插件3、vscode中使用git教程4、setting.json我自己常用的:{"editor.fontSize":18,"[scss]":{"editor.defaultFormatter":"esbenp.prettier-vs
- [Python图论]在用图nx.shortest_path求解最短路径时,节点之间有多条边edge,会如何处理?
William数据分析
pythonpython信息可视化图论
问:在使用图求最短路径时,如果节点之间有多条路径,shortest_route=nx.shortest_path(G,source=start_node,target=end_node,weight='length')会如何处理,会自动选择最短那条吗?#输出图G各节点之间有多少条边edge,并给出其长度Edgesbetween103928and25508583:共2条Edge:103928->25
- CFIX(Samba)服务的使用
心飞扬Q
apachemysql数据库
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(ServerMessagesBlock,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOSoverT
- 单应用下RabbitMQ如何保证线程安全,及多应用下抢数据问题
凌不了云
消费RabbitMQ时的注意事项,如何禁止大量的消息涌到Consumer,保证线程安全:按照官网提供的订阅型写法(RetrievingMessagesBySubscription("pushAPI"))我发现,RabbitMQ服务器会在短时间内发送大量的消息给Consumer,然后,如果你没有来得及Ack的话,那么服务端会积压大量的UnAcked消息,而Consumer如果来不急处理也会处于假死(
- WARNING Memory overcommit must be enabled! Without it..问题处理
Bestest~
redismemory
文章目录一、问题出现二、解决方式三、补充其它一、问题出现redis容器方式启动报错WARNINGMemoryovercommitmustbeenabled!Withoutit,abackgroundsaveorreplicationmayfailunderlowmemorycondition.Beingdisabled,itcancanalsocausefailureswithoutlowmemo
- Window Performance API
TE-茶叶蛋
前端项目性能优化javascript开发语言ecmascript
文章目录前言WindowPerformanceAPI详细分析**1.主要接口****1.1`performance.now()`****1.2`performance.mark()`****1.3`performance.measure()`****1.4`performance.getEntriesByType()`****1.5`performance.getEntriesByName()`*
- python测试框架之pytest (一)
大可MM
pythonpython自动化测试python单元测试
1.概述pytest官方文档介绍:pytest:helpsyouwritebetterprogramspytestisaframeworkthatmakesbuildingsimpleandscalabletestseasy.Testsareexpressiveandreadable—noboilerplatecoderequired.Getstartedinminuteswithasmallun
- linux常用
从此肖郎是路人_6510
查询ip命令:ipaddr查询数据库状态Servicemysqldstatus数据库启动Servicemysqldstart启动报错pid运行yum-yinstallperlperl-devel或yum-yinstallautoconf再在mysql当前目录下设定目录的访问权限(注意后面的小点,表示当前目录)运行chown-Rmysql.chgrp-Rmysql.scripts/mysql_ins
- 泽平 的ScalersTalk第六轮新概念朗读持续力训练Day 149 20210819
郑泽平
练习材料:Lesson26(2)Wanted:alargebiscuittinTheyofferedtopay$10apoundforthebiggestbiscuitbakedbyalistener.Theresponsetothiscompetitionwastremendous.Beforelong,biscuitsofallshapesandsizesbeganarrivingatthef
- java线程Thread和Runnable区别和联系
zx_code
javajvmthread多线程Runnable
我们都晓得java实现线程2种方式,一个是继承Thread,另一个是实现Runnable。
模拟窗口买票,第一例子继承thread,代码如下
package thread;
public class ThreadTest {
public static void main(String[] args) {
Thread1 t1 = new Thread1(
- 【转】JSON与XML的区别比较
丁_新
jsonxml
1.定义介绍
(1).XML定义
扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。
XML是标
- c++ 实现五种基础的排序算法
CrazyMizzz
C++c算法
#include<iostream>
using namespace std;
//辅助函数,交换两数之值
template<class T>
void mySwap(T &x, T &y){
T temp = x;
x = y;
y = temp;
}
const int size = 10;
//一、用直接插入排
- 我的软件
麦田的设计者
我的软件音乐类娱乐放松
这是我写的一款app软件,耗时三个月,是一个根据央视节目开门大吉改变的,提供音调,猜歌曲名。1、手机拥有者在android手机市场下载本APP,同意权限,安装到手机上。2、游客初次进入时会有引导页面提醒用户注册。(同时软件自动播放背景音乐)。3、用户登录到主页后,会有五个模块。a、点击不胫而走,用户得到开门大吉首页部分新闻,点击进入有新闻详情。b、
- linux awk命令详解
被触发
linux awk
awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息
awk处理过程: 依次对每一行进行处理,然后输出
awk命令形式:
awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file
[-F|-f|-v]大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=val
- 各种语言比较
_wy_
编程语言
Java Ruby PHP 擅长领域
- oracle 中数据类型为clob的编辑
知了ing
oracle clob
public void updateKpiStatus(String kpiStatus,String taskId){
Connection dbc=null;
Statement stmt=null;
PreparedStatement ps=null;
try {
dbc = new DBConn().getNewConnection();
//stmt = db
- 分布式服务框架 Zookeeper -- 管理分布式环境中的数据
矮蛋蛋
zookeeper
原文地址:
http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/
安装和配置详解
本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两
- tomcat数据源
alafqq
tomcat
数据库
JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。
没有使用JNDI时我用要这样连接数据库:
03. Class.forName("com.mysql.jdbc.Driver");
04. conn
- 遍历的方法
百合不是茶
遍历
遍历
在java的泛
- linux查看硬件信息的命令
bijian1013
linux
linux查看硬件信息的命令
一.查看CPU:
cat /proc/cpuinfo
二.查看内存:
free
三.查看硬盘:
df
linux下查看硬件信息
1、lspci 列出所有PCI 设备;
lspci - list all PCI devices:列出机器中的PCI设备(声卡、显卡、Modem、网卡、USB、主板集成设备也能
- java常见的ClassNotFoundException
bijian1013
java
1.java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory 添加包common-logging.jar2.java.lang.ClassNotFoundException: javax.transaction.Synchronization
- 【Gson五】日期对象的序列化和反序列化
bit1129
反序列化
对日期类型的数据进行序列化和反序列化时,需要考虑如下问题:
1. 序列化时,Date对象序列化的字符串日期格式如何
2. 反序列化时,把日期字符串序列化为Date对象,也需要考虑日期格式问题
3. Date A -> str -> Date B,A和B对象是否equals
默认序列化和反序列化
import com
- 【Spark八十六】Spark Streaming之DStream vs. InputDStream
bit1129
Stream
1. DStream的类说明文档:
/**
* A Discretized Stream (DStream), the basic abstraction in Spark Streaming, is a continuous
* sequence of RDDs (of the same type) representing a continuous st
- 通过nginx获取header信息
ronin47
nginx header
1. 提取整个的Cookies内容到一个变量,然后可以在需要时引用,比如记录到日志里面,
if ( $http_cookie ~* "(.*)$") {
set $all_cookie $1;
}
变量$all_cookie就获得了cookie的值,可以用于运算了
- java-65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999
bylijinnan
java
参考了网上的http://blog.csdn.net/peasking_dd/article/details/6342984
写了个java版的:
public class Print_1_To_NDigit {
/**
* Q65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999
* 1.使用字符串
- Netty源码学习-ReplayingDecoder
bylijinnan
javanetty
ReplayingDecoder是FrameDecoder的子类,不熟悉FrameDecoder的,可以先看看
http://bylijinnan.iteye.com/blog/1982618
API说,ReplayingDecoder简化了操作,比如:
FrameDecoder在decode时,需要判断数据是否接收完全:
public class IntegerH
- js特殊字符过滤
cngolon
js特殊字符js特殊字符过滤
1.js中用正则表达式 过滤特殊字符, 校验所有输入域是否含有特殊符号function stripscript(s) { var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]"
- hibernate使用sql查询
ctrain
Hibernate
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.hibernate.Hibernate;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.Transa
- linux shell脚本中切换用户执行命令方法
daizj
linuxshell命令切换用户
经常在写shell脚本时,会碰到要以另外一个用户来执行相关命令,其方法简单记下:
1、执行单个命令:su - user -c "command"
如:下面命令是以test用户在/data目录下创建test123目录
[root@slave19 /data]# su - test -c "mkdir /data/test123" 
- 好的代码里只要一个 return 语句
dcj3sjt126com
return
别再这样写了:public boolean foo() { if (true) { return true; } else { return false;
- Android动画效果学习
dcj3sjt126com
android
1、透明动画效果
方法一:代码实现
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.fragment_main, container, fals
- linux复习笔记之bash shell (4)管道命令
eksliang
linux管道命令汇总linux管道命令linux常用管道命令
转载请出自出处:
http://eksliang.iteye.com/blog/2105461
bash命令执行的完毕以后,通常这个命令都会有返回结果,怎么对这个返回的结果做一些操作呢?那就得用管道命令‘|’。
上面那段话,简单说了下管道命令的作用,那什么事管道命令呢?
答:非常的经典的一句话,记住了,何为管
- Android系统中自定义按键的短按、双击、长按事件
gqdy365
android
在项目中碰到这样的问题:
由于系统中的按键在底层做了重新定义或者新增了按键,此时需要在APP层对按键事件(keyevent)做分解处理,模拟Android系统做法,把keyevent分解成:
1、单击事件:就是普通key的单击;
2、双击事件:500ms内同一按键单击两次;
3、长按事件:同一按键长按超过1000ms(系统中长按事件为500ms);
4、组合按键:两个以上按键同时按住;
- asp.net获取站点根目录下子目录的名称
hvt
.netC#asp.nethovertreeWeb Forms
使用Visual Studio建立一个.aspx文件(Web Forms),例如hovertree.aspx,在页面上加入一个ListBox代码如下:
<asp:ListBox runat="server" ID="lbKeleyiFolder" />
那么在页面上显示根目录子文件夹的代码如下:
string[] m_sub
- Eclipse程序员要掌握的常用快捷键
justjavac
javaeclipse快捷键ide
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。 写道 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可
- c++编程随记
lx.asymmetric
C++笔记
为了字体更好看,改变了格式……
&&运算符:
#include<iostream>
using namespace std;
int main(){
int a=-1,b=4,k;
k=(++a<0)&&!(b--
- linux标准IO缓冲机制研究
音频数据
linux
一、什么是缓存I/O(Buffered I/O)缓存I/O又被称作标准I/O,大多数文件系统默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,操作系统会将I/O的数据缓存在文件系统的页缓存(page cache)中,也就是说,数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。1.缓存I/O有以下优点:A.缓存I/O使用了操作系统内核缓冲区,
- 随想 生活
暗黑小菠萝
生活
其实账户之前就申请了,但是决定要自己更新一些东西看也是最近。从毕业到现在已经一年了。没有进步是假的,但是有多大的进步可能只有我自己知道。
毕业的时候班里12个女生,真正最后做到软件开发的只要两个包括我,PS:我不是说测试不好。当时因为考研完全放弃找工作,考研失败,我想这只是我的借口。那个时候才想到为什么大学的时候不能好好的学习技术,增强自己的实战能力,以至于后来找工作比较费劲。我
- 我认为POJO是一个错误的概念
windshome
javaPOJO编程J2EE设计
这篇内容其实没有经过太多的深思熟虑,只是个人一时的感觉。从个人风格上来讲,我倾向简单质朴的设计开发理念;从方法论上,我更加倾向自顶向下的设计;从做事情的目标上来看,我追求质量优先,更愿意使用较为保守和稳妥的理念和方法。
&