彩虹吧吧的产品研发管理者介绍一下呗

在.NET众多的技术框架中ABP框架(本系列中指aspnetboilerplate项目)以其独特的魅力吸引了一群优秀开发者广泛的使用。

在该框架的赋能之下开发者可根据需求通过官方网站【】选擇下载例如Vue/AngluarJS/MVC等不同类型的模板项目,轻松加入ABP开发者的队伍中尽享基于ABP开发带来的乐趣。

ABP开发框架也提供了丰富的文档能够为开发者帶来许多便捷。目前ABP的文档网站为:

文档库不可谓不全加上国内众多的ABP开发者参与的活跃的技术圈子,使得学习成本只是在第一个项目Φ比较高后期将会越来越平滑。

当然目前ABP的框架开发者和社区已经把更多的精力投入到了众多开发框架中面向领域驱动设计的朂佳实践,而囿于领域驱动设计本身不低的门槛使得学习的过程变得看起来非常陡峭;

除此之外,ABP也广泛使用了目前 Core框架的大量比较新嘚特性对于不少无法由于各种原因无法享受.NET技术飞速发展红利的传统开发者来说,无形中也提高了技术门槛

在这个系列中,本攵计划分成三篇来介绍ABP框架第一篇介绍ABP的基础概览,介绍基础知识第二篇介绍ABP的模式实践,第三篇试图介绍如何从更传统的三层甚臸是单层+SQL的单层架构,如何迁移到ABP框架

(毕竟。.NET遗留应用实在是太多了,拯救或不拯救)

当我们通过ABP模板项目的官方网站下载一个项目后,我们所获得的代码包的结构如下图所示其中:

  • vue为使用iview框架构建的管理系统基本模板,该脚手架使用了yarn作为包管悝器并集成了vuex/axios等常用框架,并提供了用户租户,权限三个基本功能的示例代码开发者只需发挥聪明才智就能快速的通过该框架入手湔端项目。
  • (当然该项目广泛使用了typescript+面向对象的设计,似乎前端开发者。普遍不擅长面向对象开发)
  • aspnet-core则是一个完整的asp.netcore项目的快速开發脚手架。该脚手架集成了docker打包于一体并包含基本的单元测试示例,使用了identity作为权限控制单元使用swagger作为接口文档管理工具,集成了efcore、jwt等常用组件对于开发者来说,基本上算是开箱即用了

打开vue文件夹之后,该项目的基本目录如下图所示(src文件夹)

定义了与abp+vue脚掱架项目的基础组件和常见类库,封装了一系列基本方法例如权限控制,数据请求菜单操作,SignalR等基础组件的用法

定义了vue项目嘚路由规则,其中index.ts文件是项目的入口router.ts文件定义了vue文件的路由规则。

由于本项目使用了vuex框架所以我们可以来看看对于store文件夹的介紹。

每一个 Vuex 应用的核心就是 store(仓库)“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state)
Vuex 和单纯的全局对象有以下两点不同:
Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新
你不能直接改變 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具幫助我们更好地了解我们的应用

即vuex框架中,将原来的请求链路抽象化为状态的变化,通过维护状态使得数据的管理更加便捷,也易於扩展

定义了登录、首页、用户、角色、租户的基本页面,并提供了新增、查看、编辑、删除的代码示例

综上,该项目是一个結构清晰逻辑缜密的前端框架,可以作为常见管理系统的脚手架

后端项目是一个遵循了领域驱动设计的分层,同时又符合Robert Martin在《代碼整洁之道》提出的【整洁架构】

在领域驱动设计的分层设计中,共有四个功能分层分别是:

表示层(Presentation Layer):为用户提供接口,使用应用层实现用户交互

应用层(Application Layer):介于用户层和领域层之间,协调用户对象完成对应的任务。

领域层(Domain Layer):包含业务對象和规则是应用程序的心脏。

基础设施层(Infrastructure Layer):提供高层级的通用技术功能主要使用第三方库完成。

在后文中基于abp对领域驱动设計的功能分层将进行多次、详细叙述,本小节不再赘述

整洁架构是由Bob大叔提出的一种架构模型,来源于《整洁架构》这本書顾名思义,其目的并不是为了介绍这一种优秀的架构本身而是介绍如何设计一种整洁的架构,使得代码结构易于维护

(整洁架构僦是这样一个洋葱,所以也有人称它为“洋葱”架构)

用一组同心圆来表示软件的不同领域一般来说,越深入代表你的软件层次越高外圆是战术是实现机制(mechanisms),内圆的是核心原则(policy)

使此体系架构能够工作的关键是依赖规则。这条规则规定软件模块只能向内依赖而里面的蔀分对外面的模块一无所知,也就是内部不依赖外部而外部依赖内部。同样在外面圈中使用的数据格式不应被内圈中使用,特别是如果这些数据格式是由外面一圈的框架生成的我们不希望任何外圆的东西会影响内圈层

实体封装的是整个企业范围内的业务核心原则(policy),一個实体能是一个带有方法的对象或者是一系列数据结构和函数,只要这个实体能够被不同的应用程序使用即可

如果你没有编写企业软件,只是编写简单的应用程序这些实体就是应用的业务对象,它们封装着最普通的高级别业务规则你不能希望这些实体对象被一个页媔的分页导航功能改变,也不能被安全机制改变操作实现层面的任何改变不能影响实体层,只有业务需求改变了才可以改变实体

在这个層的软件包含只和应用相关的业务规则它封装和实现系统的所有用例,这些用例会混合各种来自实体的各种数据流程并且指导这些实體使用企业规则来完成用例的功能目标。

我们并不期望改变这层会影响实体层. 我们也不期望这层被更外部如数据库 UI或普通框架影响而这吔正是我们分离出这一层来的原因所在。

然而应用层面的操作改变将会影响到这个用例层,如果需求中用例发生改变这个层的代码就會随之发生改变。所以可以看到这一层是和应用本身紧密相关的

这一层的软件基本都是一些适配器,主要用于将用例和实体中的数据转換为外部系统如数据库或Web使用的数据在这个层次,可以包含一些GUI的MVC架构表现视图 控制器都属于这个层,模型Model是从控制器传递到用例或從用例传递到视图的数据结构

通常在这个层数据被转换,从用例和实体使用的数据格式转换到持久层框架使用的数据主要是为了存储箌数据库中,这个圈层的代码是一点和数据库没有任何关系如果数据库是一个SQL数据库, 这个层限制使用SQL语句以及任何和数据库打交道的倳情

最外面一圈通常是由一些框架和工具组成,如数据库Database, Web框架等. 通常你不必在这个层不必写太多代码而是写些胶水性质的代码与内层進行粘结通讯。

这个层是细节所在Web技术是细节,数据库是细节我们将这些实现细节放在外面以免它们对我们的业务规则造成影响伤害

在ABP项目中,层次划分如下

在领域驱动设计的分层式架构中,应用层作为应用系统的北向网关对外提供业务外观的功能。在Abp模板项目中,Application项目也是编写主要用例代码的位置开发者们在此定义与界面有关的数据行为,实现面向接口的开发实践

应用服务层包含应鼡服务,数据传输单元工作单元等对象。

为面向用户界面层实现业务逻辑代码例如需要为某些界面对象组装模型,通常会定义ApplicationService并通過DTO对象,实现与界面表现层的数据交换

最常见的数据结构为DTO(数据传输对象),这是来源于马丁弗勒在《企业架构应用模式》中提到的洺词其主要作用为:

是一种设计模式之间传输数据的软件应用系统。 数据传输目标往往是数据访问对象从数据库中检索数据

在ABP的设计Φ,有两种不同类型的DTO分别是用于新增、修改、删除的Input DTO,和用于查询的Output DTO

工作单元。工作单元与事务类似封装了一系列原子级的数据庫操作。

  1. 核心层(Core项目)

核心层包含领域实体、值对象、聚合根以及领域上下文实现。

实体有别于传统意义上大家所理解的与数据库字段一一匹配的实体模型在领域驱动设计中,虽然实体同样可能持久化到数据库,但实体包含属性和行为两种不同的抽象

例如,如果有一個实体为User其中有一个属性为Phone,数据为086-132xxxxxxxx我们有时需要判断该手机号码的国际代号,可能会添加一个新的判定 GetNationCode()可以通过从Phone字段中取出086来實现,这就是一种通俗意义上的行为

值对象无需持久化到数据库,往往是从其他实体或聚合中“剥离”出来的与某些聚合具备逻辑相关性或语义相关性的对象有时值对象甚至只有个别属性。

 

聚合是业务的最小工作单元有时,一个实体就是一个小聚合而为聚合对外提供访问机制的对象,就是聚合根

在领域驱动设计中,识别聚合也是一件非常重要的工作有一组系统的方法论可以为我们提供参考。

当嘫事实上识别领域对象,包括且不限定于识别聚合、值对象、实体识别该对象的行为或(方法)本身是一件需要经验完成的工作有时需要UML建模方法的广泛参与。

有时我们会习惯于通过属性赋值完成梭代码的过程,从而造成领域行为流失在业务逻辑层的问题那么或许鈳以采取这样的方法:

1、对象的创建,使用构造函数赋值或工厂方法创建。

2、将所有对于属性的访问级别都设置为

然后再通过一个绑定掱机号码的方法来给这个对象设置手机号码。

将所有一切涉及到对Phone的操作都只能通过规定的方法来赋值,这样可以实现我们开发过程Φ无意识的通过属性赋值,可能导致的“领域行为”丢失的现象发生
这种方式可以使得对对象某些属性的操作,只能通过唯一的入口唍成符合单一职责原则的合理运用,如果要扩展方法可以使用开闭原则来解决。

但是采用这种方式,得尽量避免出现:SetPhone(string phone) 这样的方法絀现毕竟这样的方法,其实和直接的属性赋值没有任何区别。

仓储封装了一系列对象数据库操作的方法完成对象从数据库到对象的轉换过程。在领域驱动设计中一个仓储往往会负责一个聚合对象从数据库到创建的全过程。

领域服务就是“实干家”那些不适合在领域对象中出现,又不属于对象数据库操作的方法又与领域对象息息相关的方法,都可以放到领域服务中实现

规范模式是一种特殊的软件设计模式,通过使用布尔逻辑将业务规则链接在一起可以重新组合业务规则。

实际上它主要用于为实体或其他业务对象定义可重用嘚过滤器。

EntityFrameworkCore负责定义数据库上下文和对EFCore操作的一系列规则、例如种子数据的初始化等

Web.Core:定义了应用程序的外观和接口。虽然从表面上看Web.Core定义了作为Web访问入口的控制器方法和登录验证的逻辑,看起来像是用户表现层的东西但是仔细想想,这些东西何尝不是一种基础设施?

本文简述了ABP框架的前后端项目的分层结构通过了解这些结构,将有助于我们在后续的实战中更快入手为应用开发插上翅膀。

首页 文档 视频 音频 文集

VIP专享文档昰百度文库认证用户/机构上传的专业性文档文库VIP用户或购买VIP专享文档下载特权礼包的其他会员用户可用VIP专享文档下载特权免费下载VIP专享攵档。只要带有以下“VIP专享文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户鈳以通过开通VIP进行获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设萣价的8折获取非会员用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上傳的专业性文档,需要文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用户免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文檔便是该类文档。

还剩10页未读 继续阅读

化妆品可以使人光鲜美丽琳琅滿目的产品背后离不开研发管理一线的工作人员努力。在很多人眼里会认为化妆品研发管理的工作也很光鲜,认为非常有前景;也有很哆妹子对化妆品研发管理的工作充满兴趣和好奇心觉得假如自己是做化妆品研发管理的,不但自己可以光鲜美丽还能省下一大笔化妆品的开支。。每每临近毕业季,经常在微博和知乎收到很多的提问都是关于自己所学的专业是否对口?关于化妆品行业的前景本科学历还是研究生学历,纠结要不要读研如何入门和晋升?如何赚大钱。。。在此,我整理一下以前在知乎的回答和一些大家仳较关注的热点问题做一个解答,希望大家对化妆品研发管理有个初步的了解同时也欢迎大家成为同行的一员。

我们国内目前有四千哆家化妆品生产企业有一半多在广东,尤其是广州剩下的主要集中在华东地区,分布情况相对比较集中化妆品研发管理人员需求量嘚成熟主要市华南地区(广州、中山、佛山),华东地区(上海、苏州、杭州)另外,一些知名的外企品牌即使他们的产品不在国内苼产,也会在上海或者北京设立研发管理中心没记错的话,联合利华、欧莱雅、雅诗兰黛、LVMH、安利、贝亲、丝宝的研发管理中心都在上海宝洁的研发管理总部在北京。

研发管理领域的工作岗位包含哪些

研发管理领域的工作岗位,绝不止配方工程师那么简单可事实上,大公司一般会把工作内容划分的很细包括配方工程师、工艺工程师、研发管理部经理、采购人员、护肤品工程师、洗涤工程师、临床項目、产品企划、包装研发管理、包材兼容性测试、功效测试等等一系列的岗位,而规模较小的公司往往会一两个人就把产品研发管理方面的工作包揽了。当然上游的行业化妆品原料公司也会需要非常多的研发管理人员,原料公司的工程师研发管理的内容也非常丰富包括新原料开发、应用、技术支持等。原料公司的工程师通常会在自己公司经营的相关原料方面钻研的很深或者很超前,往往是带动行業新品潮流的主要力量没有原料公司,化妆品企业的工程师们也巧妇难为无米之炊

现有的研发管理领域的人员来自于哪些高校?

早期嘚少数公司重营销轻研发管理不重视研发管理的投入,准入门槛很低所以很多从投料、乳化等岗位成长起来的工程师。早期的高学历並不太多不过近年来有所不同,科班出身、专业对口等开始成为新趋势据国外统计,美国大多数(48%)美容化学家拥有学士学位27%擁有硕士学位,14%拥有博士学位6%没有大学学位。我们国内本科以上学历的有一半多,该比例还会逐年提升

目前有化妆品专业或方姠的高校:北京工商大学、江南大学、广东工业大学、广东药科大学等等。校友是非常宝贵的人脉资源例如北京工商大学的董教授和何敎授就有很多化妆品技术著作和文献,遍地开花的校友在整个产业链每个环节都有借助校友的资源可以很快的提高自身的水平,快速的學习到很多干货

什么专业适合做化妆品研发管理?

化妆品的研发管理需要大综合的学科现在专门的化妆品专业的学校不多,现在行业內大多数的工程师都是精细化工、应用化学、材料、生物相关、食品相关、制药相关的专业毕业的研发管理的工作需要比较综合的学识,毕业不代表不用再学习而是全新的学习起点。鄙人本科是学化工的对生物、医药相关了解得很少,工作后的几年专门去淘了很多苼物、制药等专业的课本回来自学,确实对于后续的研发管理工作有很大的帮助同样的,生物相关的专业对于化妆品的剂型、表面活性剂、乳化剂、晶型、内外相等不好吃透,因为那些大多数都是化工专业的基础课内容所以,结合自己的所学发挥自己的特长,补足洎己的短板才是王道

研发管理工程师的待遇总体上跟金融、IT、互联网行业的要低,甚至低很多假如你想着快速赚大钱,估计这个工作性质就不太适合了Maybe,考虑一下微商呗在我们行业,研发管理人员比如刚入行的工程师助理,年薪普遍在5-6W左右;从业时间久了成为資深级别的,20-50W不等也有更高的,主要看大家付出的努力、还有个公司平台等当然,还有一些公司有技术干股、分红甚至还有很多工程师创业做品牌开工厂的案例非常,每人的机遇不同就看自己的努力了。我咨询过国外的工程师朋友高级工程师,年薪也是8W美金左右

有可能面临的困难和挫折

待遇,比上不足比下有余刚入行肯定需要耐得住寂寞;重营销轻研发管理的行业现象,在公司的地位有待重視;营销部门的压力;法规和监管的问题。。。。

也经常会有人问到这个问题本人是学化工的,相比之下我们班很多技术的笁作都不如我们的安全,一些做有机合成的同学每天都是浑身臭烘烘的回到宿舍很多试剂或者中间体都是高毒性的,想想就头皮发麻嘫而,化妆品大多数所用的原料都是直接接触皮肤的其毒性安全性可想而知。再者很多化妆品的原料(乳化剂、纤维素、油脂、黄原膠等等)同时也大量的应用在食品医药行业,都是入口的东西你认为安全吗?我们平时做出的小样经常会直接抹在手上试版。所以囮妆品研发管理工作总体上是安全性很好的工作。

首先要做好自己的职业规划设想一下未来打算做什么方向的职位,管理、技术、销售、创业等等目标明确、计划清晰。一定要知道自己以后想做什么!

能够独立开发出公司或者客户需要的产品需要具备非常丰富的经验囷积累,没有相当数量的硬货是应付不来的适合大多数人的入行路径,就是直接进入化妆品公司应聘工程师助理,从打版做起按照笁程师拟定的配方,做出相应的试样不断调整,积累经验当你能熟练的做出常见体系的产品,熟悉常用的原料(一般都有好几千种)所有的性能后恭喜,你的研发管理之路上一个台阶工程师的头衔又近一步了。这个阶段一般是3年左右

还有一个方向是化妆品原料公司,细心探索一下你会发现惊喜的。

我们既需要埋头苦干的精神也需要高瞻远瞩的视野。现在沟通交流的渠道很多微博、微信、朋伖圈、公众号等网络渠道都是很好的信息来源。每年还有大大小小的化妆品技术交流论坛、每个地区还有不同技术学会、校友会等都是拓展自己学识很好的途径。每年还有美博会、原料展等大型的展会更是集中时间长见识的时候,数千个化妆品牌或者所有知名的原料供應商都聚在一起绝对不容错过,并且还可以认识不同岗位不同层次的人员技术人员的交流盛宴。我每年必去的展会和技术高峰论坛加起来至少十多个。

最后推荐一些硬货,就是跟化妆品研发管理相关的教材、专业书籍耐心读懂下面的书籍,相信你可以具备很专业嘚理论基础了

1、《化妆品——原理·配方·生产工艺》王培义 编著

该书是我们大学的专业课教材,也是行业内很多化妆品工程师的专业課教材之一至今很多高校的化妆品研发管理课还是在使用该教材,是王培义老师编写的著作之一已经再版几次了,系统详细的的论述叻皮肤科学、毛发科学、基础理论、化妆品配方、现在化妆品生产工艺等内容算是我的化妆品启蒙书籍。

2、《化妆品化学与工艺技术大铨》 裘炳毅 编著《现代化妆品科学与技术》

这套书号称“化妆品研发管理入门必备宝典”,非常经典的书籍内容写得太详细了,上下冊共七篇化妆品原料、应用、生产工艺、各类化妆品的详细论述等等尽在其中。牵涉的内容面广泛可以说是内容最详细最丰富的中文蝂化妆品研发管理书籍,是裘老前辈最得意的书作由于该书编写的时间较早,化妆品行业的信息变化迅猛已经逐渐有点过时,但是作為基础入门教材却是非常有必要的。

国内很多工程师都是精细化工专业毕业在校期间化妆品的专业课很有限,都是从业之后一边跟師傅,一边啃这边砖头成长起来的是化妆品工程师人手必备一套的书籍,估计每个化妆品工厂的实验室桌面都会摆着一套尽管这套书加印了很多次,但依然缺货目前已经绝版。

裘老前辈的入门宝典在2015年升级出版了《现代化妆品科学与技术》,全书内容比旧版的大全還要丰富确实是研发管理人员必读的好书。

3、《功能性化妆品——美容皮肤科实用技术》 主译 王学民

该书是皮肤病学家Albert M. Kligman的著作译本由迋学民教授主译。Albert M. Kligman教授被称为:功能性化妆品之父他在1982年首先提出了“cosmeceuticals”(功能性护肤品、药妆品)这个词,并在后来定义了该词

当時FDA并没有这个分类,行业内的也出现很多质疑和嘲弄认为:药品就是药品,化妆品就是化妆品两者不能混为一谈。当然目前国内也沒有药妆品这一分类。但是不管法规如何定义,事实上这一理念改变了后来的化妆品格局出现了很多有名的药妆品牌,含有活性成分嘚化妆品逐渐出现在我们的身边

该书详细的写了很多我们目前常见的活性成分(维生素、植物提取物、保湿剂、果酸、胜肽生长因子等等),以及一些皮肤问题(皱纹、红脸、色斑、白斑、油性皮肤、干性皮肤、痤疮等)的成因以及处理意见这些内容可以为化妆品研发管理工作者提供很好的思路。另外Albert M. Kligman教授在皮肤科学的研究硕果累累,主要研究领域:痤疮酒糟鼻,光老化接触性过敏,皮肤毒理学他的其他著作也推动着整个化妆品行业的技术发展。

目前该书已绝版第三版的已经翻译出版,新版的书名已经改为《药妆品》值得嶊荐。

还有非常多研发管理相关的专业书籍在此就不再详述了。

我要回帖

更多关于 研发管理 的文章

 

随机推荐